2017-05-14 5 views
1

Pari Cライブラリのt_REALにカスタム精度ビットが必要です。 私はBITS_IN_LONG変数を変更しようとしましたが、GEN変数の精度指数を変更したことを確認しましたが、実際の数値は小数点以下39桁までしか得られません。 実数をより正確に格納できる関数または別のGENタイプがありますか?Pari Cのカスタム精度ビット(t_REAL)

答えて

1

あなたが設定する必要がrealprecision呼ばデフォルトが存在します。

PARI/GPでは、t_REALの(10進数)有効数字の数を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ビットの増分で動作することに注意してください。したがって、期待した小数点以下の桁数よりも大きくなる可能性があります。 1.0) '、私は〜1000の数字を取得します。 –