3
我敢肯定,答案很明顯,但是我沒有看到源代碼就找不到它。什麼是gnuplot浮點數的內部表示?
什麼是gnuplot浮點數的內部表示?它是平臺的double
?它是否使用自己的內部表示?它可以做任意精度?
我敢肯定,答案很明顯,但是我沒有看到源代碼就找不到它。什麼是gnuplot浮點數的內部表示?
什麼是gnuplot浮點數的內部表示?它是平臺的double
?它是否使用自己的內部表示?它可以做任意精度?
一個快速的谷歌搜索會出現,儘可能以雙精度完成計算,但是,這裏有一個小小的轉換。一個IEEE雙精度數的範圍應該最多不超過1.797e308
,但是,如果你試圖給gnuplot的一個數字,大,它扼流圈:
gnuplot> plot '-' u 0:($1/2.)
input data ('e' ends) > 1.7976931348623157e+308
input data ('e' ends) > 30
input data ('e' ends) > e
Warning: empty x range [1:1], adjusting to [0.99:1.01]
Warning: empty y range [15:15], adjusting to [14.85:15.15]
現在,如果你表現出的gnuplot的範圍變量:
gnuplot> show variables all
你會看到一些東西,是一個有些奇怪:
GPVAL_DATA_X2_MIN = 8.98846567431158e+307
GPVAL_DATA_X2_MAX = -8.98846567431158e+307
有了這個號碼重複幾次。 (請注意,這個數字大致正確):
gnuplot> !python -c 'import sys; print sys.float_info.max/2.'
8.98846567431e+307
**(Python的浮動是系統的雙精度)。
現在有點打轉轉:
gnuplot> a = 8.98846567431e+307
gnuplot> a = 8.98846567432e+307
^
undefined value
所以大概的gnuplot的浮點數字上升到系統的最大雙精度(如果可能)按2
滑稽的劃分,我用'gnuplot的精度'在一個專用的服務中,不需要查看任何來源..(「有時」浮動,「通常」翻倍,「否」爲任意) – 2012-12-27 09:14:48
感謝您使用搜索詞幫助我。如果你發佈這個答案,我很高興你接受它。 – iter