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
|
||||
[ 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
|
||||
[ -24 shift byte-bit-count + ] keep
|
||||
cell 8 = [
|
||||
[ -8 shift byte-bit-count + ] keep
|
||||
[ -8 shift byte-bit-count + ] keep
|
||||
[ -8 shift byte-bit-count + ] keep
|
||||
-8 shift byte-bit-count + >fixnum
|
||||
[ -32 shift byte-bit-count + ] keep
|
||||
[ -40 shift byte-bit-count + ] keep
|
||||
[ -48 shift byte-bit-count + ] keep
|
||||
-56 shift byte-bit-count + >fixnum
|
||||
] [ drop ] if ;
|
||||
|
||||
M: fixnum (bit-count)
|
||||
|
|
Loading…
Reference in New Issue