chibi-scheme/lib/chibi/iset/optimize.sld
Alex Shinn 00691b64f1 Making libraries portable where possible.
Many still import (chibi), and as (scheme base) is somewhat more
expensive to load at present these are changed to cond-expand.
Many libraries also rely on (srfi 33), and these have been changed
to a cond-expand first trying (srfi 60) where available.
Also fixing a few portability concerns (duplicate imports of the
same binding), and adding a few libraries missing from lib-tests.scm.
2015-04-26 16:17:38 +09:00

19 lines
626 B
Scheme

(define-library (chibi iset optimize)
(cond-expand
(chibi (import (chibi) (srfi 9)))
(else (import (scheme base))))
(import (chibi iset base)
(chibi iset iterators)
(chibi iset constructors))
(cond-expand
((library (srfi 60)) (import (srfi 60)))
(else
(import (srfi 33))
(begin
(define (%mask size) (bitwise-not (arithmetic-shift -1 size)))
(define (extract-bit-field size position n)
(bitwise-and (%mask size) (arithmetic-shift n (- position)))))))
(include "optimize.scm")
(export
iset-balance iset-balance! iset-optimize iset-optimize! iset->code))