File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed
Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change 2222 fxreverse-bit-field)
2323 ;; Many other provides from macros below
2424
25+ (define CS? (eq? 'chez-scheme (system-type 'vm )))
2526(define 64-bit? (fixnum? (expt 2 33 )))
2627
27- (define (fixnum-width) (if 64-bit? 63 31 ))
28- (define (least-fixnum) (if 64-bit? (- (expt 2 62 )) -1073741824 ))
29- (define (greatest-fixnum) (if 64-bit? (- (expt 2 62 ) 1 ) +1073741823 ))
28+ ;; These would be better provided by Racket, instead of hardwiring
29+ ;; numbers based on `system-type` results...
30+ (define (fixnum-width) (if CS?
31+ (if 64-bit? 61 30 )
32+ (if 64-bit? 63 31 )))
33+ (define (least-fixnum) (if CS?
34+ (if 64-bit? (- (expt 2 60 )) -536870912 )
35+ (if 64-bit? (- (expt 2 62 )) -1073741824 )))
36+ (define (greatest-fixnum) (if CS?
37+ (if 64-bit? (- (expt 2 60 ) 1 ) +536870911 )
38+ (if 64-bit? (- (expt 2 62 ) 1 ) +1073741823 )))
3039
3140(define-syntax-rule (check v alt)
3241 (if (fixnum? v)
You can’t perform that action at this time.
0 commit comments