Skip to content

Commit 17aeb9c

Browse files
bdeketsoegaard
authored andcommitted
flbracketed-root: avoid underflow near root
1 parent 86c2a97 commit 17aeb9c

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

math-lib/math/private/flonum/flonum-brent-dekker.rkt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
[(= fb 0.0) b]
8989
[(or (flnan? a) (flnan? fa) (flnan? b) (flnan? fb)) +nan.0]
9090
;; Check signs
91-
[((* fa fb) . >= . 0.0)
91+
[(if (< fa 0.) (< fb 0.) (< 0. fb))
9292
(debugf "(f ~v) = ~v and (f ~v) = ~v do not bracket a root~n" a fa b fb)
9393
+nan.0]
9494
[else

math-test/math/tests/flonum-tests.rkt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,7 @@ fl2<=
197197
(check-equal? (parameterize ([print-fp-test-progress? #f])
198198
(test-floating-point 10000))
199199
empty)
200+
201+
;; ===================================================================================================
202+
;; Bracketed root
203+
(check-equal? (flbracketed-root values -1e-200 1e-199) 0.)

0 commit comments

Comments
 (0)