Make index? faster.

This commit is contained in:
Vincent St-Amour 2011-07-13 11:41:32 -04:00
parent 2fb03852b3
commit e5314f945e

View File

@ -1,6 +1,6 @@
#lang racket/base
(require unstable/function)
(require unstable/function racket/unsafe/ops)
(provide index? exact-rational?)
@ -9,6 +9,7 @@
;; we assume indexes are 2 bits shorter than fixnums
;; We're generating a reference to fixnum? rather than calling it, so
;; we're safe from fixnum size issues on different platforms.
(define (index? x) (and (fixnum? x) (>= x 0) (fixnum? (* x 4))))
(define (index? x)
(and (fixnum? x) (unsafe-fx>= x 0) (fixnum? (unsafe-fx* x 4))))
(define exact-rational? (conjoin rational? exact?))