>>>>> "Richard" == Richard Fateman <fateman at EECS.Berkeley.EDU> writes:
Richard> For a start, do you want the interval analysis to be done
Richard> only when you compile a function, (CMU-CL) or each time
Richard> you do an operation, e.g. add, multiply, or perhaps run
I see your point now. Of course, for CMUCL, it's only used when
compiling a function. But the mechanisms are there do to interval
computations:
(c::interval-div (c::make-interval :low -14 :high 100)
(c::make-interval :low 8 :high 42))
=>
#S(C::INTERVAL :LOW -7/4 :HIGH 25/2)
SBCL has something similar since it forked from CMUCL after this was
added.
This particular implementation uses NIL to represent infinity. It has
no concept of NaN, and has now way of representing the number
"infinity". (make-interval :low nil :high nil) is the real line.
Ray