Fixed:
commit 26627f70af3ede3610e4092175965e0250456a4d Author: Nikodemus Siivola <email address hidden> Date: Tue Jun 7 14:14:21 2011 +0300
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))
Fixed:
commit 26627f70af3ede3 610e4092175965e 0250456a4d
Author: Nikodemus Siivola <email address hidden>
Date: Tue Jun 7 14:14:21 2011 +0300
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.
(type (single-float (0.0)) y))
(defun fii (x y)
(declare (type (single-float 2.0) x)
(+ x y))