diff --git a/src/ikarus.boot b/src/ikarus.boot index 2a7e5e7..63a3f3a 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.fixnums.ss b/src/ikarus.fixnums.ss new file mode 100644 index 0000000..69250cb --- /dev/null +++ b/src/ikarus.fixnums.ss @@ -0,0 +1,27 @@ + +(library (ikarus fixnums) + (export fxzero? fxadd1 fxsub1) + (import + (only (scheme) $fxadd1 $fxsub1) + (except (ikarus) fxzero? fxadd1 fxsub1)) + + (define fxzero? + (lambda (x) + (cond + [(eq? x 0) #t] + [(fixnum? x) #f] + [else (error 'fxzero? "~s is not a fixnum" x)]))) + + (define fxadd1 + (lambda (n) + (if (fixnum? n) + ($fxadd1 n) + (error 'fxadd1 "~s is not a fixnum" n)))) + + (define fxsub1 + (lambda (n) + (if (fixnum? n) + ($fxsub1 n) + (error 'fxsub1 "~s is not a fixnum" n)))) + + ) diff --git a/src/ikarus.numerics.ss b/src/ikarus.numerics.ss index 562280d..f6caa51 100644 --- a/src/ikarus.numerics.ss +++ b/src/ikarus.numerics.ss @@ -2,32 +2,6 @@ -(library (ikarus fixnums) - (export fxzero? fxadd1 fxsub1) - (import - (only (scheme) $fxadd1 $fxsub1) - (except (ikarus) fxzero? fxadd1 fxsub1)) - - (define fxzero? - (lambda (x) - (cond - [(eq? x 0) #t] - [(fixnum? x) #f] - [else (error 'fxzero? "~s is not a fixnum" x)]))) - - (define fxadd1 - (lambda (n) - (if (fixnum? n) - ($fxadd1 n) - (error 'fxadd1 "~s is not a fixnum" n)))) - - (define fxsub1 - (lambda (n) - (if (fixnum? n) - ($fxsub1 n) - (error 'fxsub1 "~s is not a fixnum" n)))) - - ) (library (ikarus flonums) diff --git a/src/makefile.ss b/src/makefile.ss index f51a2cc..80b9c7b 100755 --- a/src/makefile.ss +++ b/src/makefile.ss @@ -24,6 +24,7 @@ '("ikarus.handlers.ss" "ikarus.multiple-values.ss" "ikarus.predicates.ss" + "ikarus.fixnums.ss" "ikarus.control.ss" "ikarus.collect.ss" "ikarus.records.ss"