math.bitwise: fix mask? to do what the docs say.
parent
7e9cd33be5
commit
a5f59da7e1
|
@ -64,6 +64,8 @@ SPECIALIZED-ARRAY: uint-4
|
|||
[ 3 ] [ 3 >odd ] unit-test
|
||||
[ 5 ] [ 4 >odd ] unit-test
|
||||
|
||||
[ t ] [ 0b111 0b110 mask? ] unit-test
|
||||
[ f ] [ 0b101 0b110 mask? ] unit-test
|
||||
[ t ] [ 0xff 1 mask? ] unit-test
|
||||
[ f ] [ 0x0 1 mask? ] unit-test
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ IN: math.bitwise
|
|||
: unmask ( x n -- ? ) bitnot bitand ; inline
|
||||
: unmask? ( x n -- ? ) unmask zero? not ; inline
|
||||
: mask ( x n -- ? ) bitand ; inline
|
||||
: mask? ( x n -- ? ) mask zero? not ; inline
|
||||
: mask? ( x n -- ? ) [ mask ] [ = ] bi ; inline
|
||||
: wrap ( m n -- m' ) 1 - bitand ; inline
|
||||
: on-bits ( m -- n ) dup 0 <= [ drop 0 ] [ 2^ 1 - ] if ; inline
|
||||
: bits ( m n -- m' ) on-bits mask ; inline
|
||||
|
|
Loading…
Reference in New Issue