Skip to content

Commit fa46ced

Browse files
bdeketsoegaard
authored andcommitted
bracketed-root: prevent underflow
1 parent 17aeb9c commit fa46ced

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-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
@@ -69,7 +69,7 @@
6969
[(c fc) (values b fb)]
7070
[(fs) (f s)]
7171
;; Replace the endpoint with the same sign as s
72-
[(a fa b fb) (if ((* fa fs) . < . 0.0)
72+
[(a fa b fb) (if (if (< fa 0.) (< 0. fs) (< fs 0.))
7373
(values a fa s fs)
7474
(values s fs b fb))]
7575
;; Make sure b is closer

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,3 +201,5 @@ fl2<=
201201
;; ===================================================================================================
202202
;; Bracketed root
203203
(check-equal? (flbracketed-root values -1e-200 1e-199) 0.)
204+
(check-equal? (flbracketed-root (λ (x) (- -1e-250 x)) 9e-202 -1e-200) -1e-250)
205+
(check-equal? (flbracketed-root (λ (x) (- +1e-250 x)) 9e-202 -1e-200) +1e-250)

0 commit comments

Comments
 (0)