math.bitwise: don't count the same bits over&over

db4
Joe Groff 2011-11-11 23:36:21 -08:00
parent 706c9ee3b9
commit da81cb9035
1 changed files with 6 additions and 6 deletions

View File

@ -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)