From f70634bb01c64e4892a09403568158b8569224e1 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Fri, 4 Jul 2008 20:52:24 -0700 Subject: [PATCH] Add 0 integer>bit-array fix to bit-arrays in its new home under extra --- extra/bit-arrays/bit-arrays.factor | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/extra/bit-arrays/bit-arrays.factor b/extra/bit-arrays/bit-arrays.factor index 4fee1dfba3..96d7cf9905 100755 --- a/extra/bit-arrays/bit-arrays.factor +++ b/extra/bit-arrays/bit-arrays.factor @@ -73,12 +73,14 @@ M: bit-array byte-length length 7 + -3 shift ; \ } [ >bit-array ] parse-literal ; parsing : integer>bit-array ( int -- bit-array ) - [ log2 1+ 0 ] keep - [ dup zero? not ] [ - [ -8 shift ] [ 255 bitand ] bi - -roll [ [ >r underlying>> r> set-alien-unsigned-1 ] 2keep 1+ ] dip - ] [ ] while - 2drop ; + dup zero? [ drop 0 ] [ + [ log2 1+ 0 ] keep + [ dup zero? not ] [ + [ -8 shift ] [ 255 bitand ] bi + -roll [ [ set-alien-unsigned-1 ] 2keep 1+ ] dip + ] [ ] while + 2drop + ] if ; : bit-array>integer ( bit-array -- int ) 0 swap underlying>> [ length ] keep [