在 Common Lisp 中是否有一种独立于实现的方式来表示无穷大或非数字(NAN)?它需要是一个双浮点数,并且具有正值和负值。在 SBCL 中,结果
(apropos "INFINITY")
包括
SB-EXT:DOUBLE-FLOAT-NEGATIVE-INFINITY (bound)
SB-EXT:DOUBLE-FLOAT-POSITIVE-INFINITY (bound)
但我需要它在所有实现中都可用。我有一个要编写的包的附录,它可以在所有平台上运行,它需要无穷大和 NAN 的表示。甚至来自另一个库的函数也足够了。
我已经iee-floats
加载了,它现在是我图书馆的一部分。我有一个检测数字是否为 NaN 的函数和一个检测数字是否为无穷大的函数;我还没有测试过 NaN,但我的无穷大函数需要数字是双浮点数。SBCL 的SB-EXT:DOUBLE-FLOAT-POSITIVE-INFINITY
作品,但我需要它独立于实施。