File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change 162162 bfodd?
163163 bfcopy
164164 bfstep
165+ bigfloat->flonum
165166 bigfloats-between
166167 bfprev
167168 bfnext
Original file line number Diff line number Diff line change 11#lang racket/base
22
3- (require "eval/machine .rkt " )
4- ( require math/bigfloat
5- math/flonum)
3+ (require "mpfr .rkt "
4+ " eval/machine.rkt " )
5+ ( require math/flonum)
66(provide flonum-discretization
77 boolean-discretization
88 bf-discretization)
1111
1212(define boolean-discretization (discretization 53 values (lambda (x y) (if (eq? x y) 0 2 ))))
1313
14+ (define min-exponent (mpfr-exp (bfnext 0.bf)))
15+
1416(define (bf-discretization [precision #f ])
1517 (define n (or precision (bf-precision)))
1618 (discretization n
1719 (lambda (x)
1820 (parameterize ([bf-precision n])
19- (if (equal? (bigfloats-between 0.bf x) 1 )
21+ (if (and (= (mpfr-exp x) min-exponent) ( equal? (bigfloats-between 0.bf x) 1 ) )
2022 (bf 0 )
2123 (bfcopy x))))
2224 (lambda (x y)
You can’t perform that action at this time.
0 commit comments