diff --git a/src/ikarus.boot b/src/ikarus.boot index 63a3f3a..9718a34 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.core.ss b/src/ikarus.core.ss index 28f722f..6f180cd 100644 --- a/src/ikarus.core.ss +++ b/src/ikarus.core.ss @@ -29,11 +29,6 @@ (error 'char->integer "~s is not a character" x)) ($char->fixnum x))) -(primitive-set! 'fxlognot - (lambda (x) - (unless (fixnum? x) - (error 'fxlognot "~s is not a fixnum" x)) - ($fxlognot x))) (let () (define fill! diff --git a/src/ikarus.fixnums.ss b/src/ikarus.fixnums.ss index 69250cb..b20aa2a 100644 --- a/src/ikarus.fixnums.ss +++ b/src/ikarus.fixnums.ss @@ -1,9 +1,9 @@ (library (ikarus fixnums) - (export fxzero? fxadd1 fxsub1) + (export fxzero? fxadd1 fxsub1 fxlognot) (import - (only (scheme) $fxadd1 $fxsub1) - (except (ikarus) fxzero? fxadd1 fxsub1)) + (only (scheme) $fxadd1 $fxsub1 $fxlognot) + (except (ikarus) fxzero? fxadd1 fxsub1 fxlognot)) (define fxzero? (lambda (x) @@ -24,4 +24,10 @@ ($fxsub1 n) (error 'fxsub1 "~s is not a fixnum" n)))) + + (define fxlognot + (lambda (x) + (unless (fixnum? x) + (error 'fxlognot "~s is not a fixnum" x)) + ($fxlognot x))) )