Common Lisp の標準には、任意の正確さを持つ float はありません。
Common Lisp は、標準で 4 つの float 型を定義しています: SHORT-FLOAT、SINGLE-FLOAT、。DOUBLE-FLOATLONG-FLOAT
関数を使用して浮動小数点数への比率を強制することができますCOERCE(LispWorks の例):
CL-USER 1 > (coerce (/ 1 7) 'double-float)
0.14285714285714285D0
またはLONG-FLOATCLISPの
[1]> (coerce (/ 1 7) 'long-float)
0.14285714285714285714L0
より長い浮動小数点数で計算するには、Common Lisp の拡張が必要です。GNU CLISPには移植性のない拡張機能があり、(バイナリ) 桁数を設定できます。
(SETF (EXT:LONG-FLOAT-DIGITS) n)
例:
[3]> (SETF (EXT:LONG-FLOAT-DIGITS) 1000)
1000
[4]> (coerce (/ 1 7) 'long-float)
0.142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857142857142857142857
142857142857142857142857142857142857143L0