next up previous contents
Next: 2.1.3.2 Negative Zero Up: 2.1.3 Floats Previous: 2.1.3 Floats

2.1.3.1 IEEE Special Values

CMU Common Lisp supports the IEEE infinity and NaN special values. These non-numeric values will only be generated when trapping is disabled for some floating point exception (see section 2.1.3.4), so users of the default configuration need not concern themselves with special values.

[Constant]
extensions:short-float-positive-infinity
extensions:short-float-negative-infinity
extensions:single-float-positive-infinity
extensions:single-float-negative-infinity
extensions:double-float-positive-infinity
extensions:double-float-negative-infinity
extensions:long-float-positive-infinity
extensions:long-float-negative-infinity

The values of these constants are the IEEE positive and negative infinity objects for each float format.

[Function]
extensions:float-infinity-p x

This function returns true if x is an IEEE float infinity (of either sign.) x must be a float.

[Function]
extensions:float-nan-p x
extensions:float-trapping-nan-p x

float-nan-p returns true if x is an IEEE NaN (Not A Number) object. float-trapping-nan-p returns true only if x is a trapping NaN. With either function, x must be a float.



Raymond Toy
Mon Jul 14 09:11:27 EDT 1997