more conservative bounds in FP interval arithmetic
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 7 Jun 2011 11:14:21 +0000 (14:14 +0300)
committerNikodemus Siivola <nikodemus@sb-studio.net>
Tue, 7 Jun 2011 12:27:54 +0000 (15:27 +0300)
commit26627f70af3ede3610e4092175965e0250456a4d
tree3771a7174ab1ec960261f9eb18562157620f7e37
parent8573e16b201126d55dcfa6835ead4da061d4c71f
more conservative bounds in FP interval arithmetic

 Make BOUND-BINOP return closed intervals when floating
 point rounding can cause an open bound to close.

 Consider:

  ;; Can return zero.
  (defun fii (x)
    (declare (type (single-float (0.0)) x))
    (/ x 2.0))

  ;; Can return 2.0.
  (defun fii (x y)
    (declare (type (single-float 2.0) x)
             (type (single-float (0.0)) y))
    (+ x y))
NEWS
src/compiler/srctran.lisp
tests/compiler.pure.lisp