derived-ops for shift didn't include fixnum-shift

db4
Slava Pestov 2008-11-30 04:44:52 -06:00
parent 0e91763333
commit 1361bb7d5c
2 changed files with 6 additions and 3 deletions

View File

@ -11,6 +11,8 @@ tools.test math kernel sequences ;
[ f ] [ \ number= fixnum object math-both-known? ] unit-test
[ t ] [ \ number= integer fixnum math-both-known? ] unit-test
[ f ] [ \ >fixnum \ shift derived-ops memq? ] unit-test
[ f ] [ \ >integer \ /i derived-ops memq? ] unit-test
[ t ] [ \ fixnum-shift \ shift derived-ops memq? ] unit-test
[ { integer fixnum } ] [ \ +-integer-fixnum integer-op-input-classes ] unit-test
[ { fixnum fixnum } ] [ \ fixnum+ integer-op-input-classes ] unit-test
@ -24,4 +26,3 @@ tools.test math kernel sequences ;
[ fixnum-bitnot ] [ \ bitnot modular-variant ] unit-test
[ fixnum+fast ] [ \ fixnum+ modular-variant ] unit-test
[ fixnum+fast ] [ \ fixnum+fast modular-variant ] unit-test

View File

@ -152,7 +152,7 @@ SYMBOL: fast-math-ops
: integer-derived-ops ( word -- words )
[ math-ops get (derived-ops) ] [ fast-math-ops get (derived-ops) ] bi
[
[
[
drop
[ second integer class<= ]
[ third integer class<= ]
@ -174,7 +174,6 @@ SYMBOL: fast-math-ops
\ + define-math-ops
\ - define-math-ops
\ * define-math-ops
\ shift define-math-ops
\ mod define-math-ops
\ /i define-math-ops
@ -188,6 +187,9 @@ SYMBOL: fast-math-ops
\ >= define-math-ops
\ number= define-math-ops
{ { shift bignum bignum } bignum-shift } ,
{ { shift fixnum fixnum } fixnum-shift } ,
\ + \ fixnum+ \ bignum+ define-integer-ops
\ - \ fixnum- \ bignum- define-integer-ops
\ * \ fixnum* \ bignum* define-integer-ops