2017-05-14 15 views
1

Pari C 라이브러리에서 t_REAL에 대한 사용자 정의 정밀 비트가 필요합니다. BITS_IN_LONG 변수를 변경하려고 시도했지만 제 GEN 변수의 정밀도 지수를 변경했음을 확인했습니다. 여전히 소수점 이하 39 자리까지만 실제 숫자가 나타납니다. 정밀도가 더 높은 실수를 저장할 수있는 함수 또는 다른 GEN 유형이 있습니까?Pari C에서 t_REAL에 대한 사용자 정의 정밀 비트

답변

1

는 설정해야 realprecision라는 기본이 존재한다.

PARI/GP에서는 t_REAL (유효 숫자)의 유효 자릿수를 1000 (또는 약간 더) 변경하려면 default(realprecision, 1000) 함수를 사용합니다. 여기서 마법의 이름 realprecision이 "키"이고 1000이 "값"입니다. 내가 default에 대한 설명서를 확인하면

는 그리고는 말한다 :

라이브러리 구문은 GEN default0(const char *key = NULL, const char *val = NULL)입니다.

그럼 default0 기능을 사용해 보셨습니까?

+0

"realprecision"값을 변경하려고했지만 32 비트 (반올림 됨) 만 변경되었습니다. 게다가, 그것은 아니오에 경계를 가지고있는 것처럼 보였다. 유의 비트. – Deevashwer

+0

@Deevashwer '1000'또는 어떤 값으로 변경 했습니까? 상한이 없어야합니다. 나는 C 라이브러리를 사용하지 않지만, GP 내부에서'default (realprecision, 1000)'을했을 때'default (realprecision) '에서 볼 수있는 값은'1001'입니다. 나는 64 비트 버전을 사용한다. 도움 말 : PARI의 내부 정밀도는 단어 단위로 (32 비트 또는 64 비트 단위로) 작동하므로 예상 한 10 진수보다 약간 클 수 있습니다 ._ 나중에 'exp 1.0)', 나는 ~ 1000 숫자를 얻는다. –