Skip to content

float infinities not comparable to rationals (causes an error)

EXT::DOUBLE-FLOAT-NEGATIVE-INFINITY and EXT::DOUBLE-FLOAT-POSITIVE-INFINITY are not comparable (via > and <) to noninteger rationals. In fact, attempting to do so causes an error.

I didn't check single float infinities.

E.g.

$ ecl
ECL (Embeddable Common-Lisp) 16.1.2 (git:UNKNOWN)
> (> #.ext::double-float-negative-infinity (/ 1 100000000))

Condition of type: ARITHMETIC-ERROR
#<a ARITHMETIC-ERROR>

I am working on Linux (Ubuntu 14.04).

This arose from investigating Maxima bug #3235: https://sourceforge.net/p/maxima/bugs/3235/