Fix compile error in nibble-arrays and add some unit tests
parent
90409502e3
commit
1944fe54c0
|
@ -0,0 +1,6 @@
|
||||||
|
USING: nibble-arrays tools.test sequences kernel math ;
|
||||||
|
IN: nibble-arrays.tests
|
||||||
|
|
||||||
|
[ t ] [ 16 dup >nibble-array sequence= ] unit-test
|
||||||
|
[ N{ 4 2 1 3 } ] [ N{ 3 1 2 4 } reverse ] unit-test
|
||||||
|
[ N{ 1 4 9 0 9 4 } ] [ N{ 1 2 3 4 5 6 } [ sq ] map ] unit-test
|
|
@ -17,10 +17,10 @@ TUPLE: nibble-array
|
||||||
: byte/nibble ( n -- shift n' )
|
: byte/nibble ( n -- shift n' )
|
||||||
[ 1 bitand 2 shift ] [ -1 shift ] bi ; inline
|
[ 1 bitand 2 shift ] [ -1 shift ] bi ; inline
|
||||||
|
|
||||||
: get-nibble ( shift n byte -- nibble )
|
: get-nibble ( n byte -- nibble )
|
||||||
swap neg shift nibble bitand ; inline
|
swap neg shift nibble bitand ; inline
|
||||||
|
|
||||||
: set-nibble ( value shift n byte -- byte' )
|
: set-nibble ( value n byte -- byte' )
|
||||||
nibble pick shift bitnot bitand -rot shift bitor ; inline
|
nibble pick shift bitnot bitand -rot shift bitor ; inline
|
||||||
|
|
||||||
: nibble@ ( n nibble-array -- shift n' byte-array )
|
: nibble@ ( n nibble-array -- shift n' byte-array )
|
||||||
|
|
Loading…
Reference in New Issue