>>>>> "David" == David Stoutemyer <dstout at hawaii.edu> writes:
David> I would also like to see the infectiousness of Floats and
David> Big Floats be on a local basis of each real arithmetic
David> operation?rather than degrading all numbers in a
David> multi-interval whenever one of them is a Float or a Big
David> Float.
Do you mean that if x and y are both unions of the intervals [1,5] and
[8.0, 9.0], then you want x*y to be the union of [1, 25], [8.0, 45.0],
and [64.0, 81.0]?
Ray
P.S. If you have cmucl or sbcl, you can try
(defun foo (x y)
(declare (type (or (integer 1 5) (single-float 8.0 9.0)) x y))
(* x y))
(compile 'foo)
(describe 'foo)
[snip other output from foo]
Its result type is:
(OR (SINGLE-FLOAT 64.0 81.0) (SINGLE-FLOAT 8.0 45.0) (INTEGER 1 25))