Added inline hint around `index?' definition; my own timing suggests 2x speedup

This commit is contained in:
Neil Toronto 2012-07-09 14:28:36 -07:00
parent 77655f9ade
commit 419b59e88e

View File

@ -1,14 +1,19 @@
#lang racket/base
(require racket/unsafe/ops)
(require racket/unsafe/ops
racket/performance-hint)
(provide index? exact-rational?)
;; this is required for template in numeric-tower.rkt
(begin-encourage-inline
;; 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) (unsafe-fx>= x 0) (fixnum? (* x 4))))
(define (exact-rational? x) (and (rational? x) (exact? x)))
) ; begin-encourage-inline