math.bitwise: don't count the same bits over&over
parent
706c9ee3b9
commit
da81cb9035
|
@ -90,13 +90,13 @@ GENERIC: (bit-count) ( x -- n )
|
||||||
{ fixnum } declare
|
{ fixnum } declare
|
||||||
[ byte-bit-count ] keep
|
[ byte-bit-count ] keep
|
||||||
[ -8 shift byte-bit-count + ] keep
|
[ -8 shift byte-bit-count + ] keep
|
||||||
[ -8 shift byte-bit-count + ] keep
|
[ -16 shift byte-bit-count + ] keep
|
||||||
[ -8 shift byte-bit-count + ] keep
|
[ -24 shift byte-bit-count + ] keep
|
||||||
cell 8 = [
|
cell 8 = [
|
||||||
[ -8 shift byte-bit-count + ] keep
|
[ -32 shift byte-bit-count + ] keep
|
||||||
[ -8 shift byte-bit-count + ] keep
|
[ -40 shift byte-bit-count + ] keep
|
||||||
[ -8 shift byte-bit-count + ] keep
|
[ -48 shift byte-bit-count + ] keep
|
||||||
-8 shift byte-bit-count + >fixnum
|
-56 shift byte-bit-count + >fixnum
|
||||||
] [ drop ] if ;
|
] [ drop ] if ;
|
||||||
|
|
||||||
M: fixnum (bit-count)
|
M: fixnum (bit-count)
|
||||||
|
|
Loading…
Reference in New Issue