]> gitweb.factorcode.org Git - factor.git/commitdiff
nibble-arrays: replace a -rot usage with locals
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 29 May 2010 09:22:10 +0000 (05:22 -0400)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 29 May 2010 09:22:10 +0000 (05:22 -0400)
basis/nibble-arrays/nibble-arrays.factor

index 865491ed21345c9e471f96e06c123704bb7f1b32..712b62f20b0bd248e1847c94b39fd69840aee9ee 100644 (file)
@@ -1,7 +1,7 @@
-! Copyright (C) 2008 Slava Pestov.
+! Copyright (C) 2008, 2010 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: math kernel sequences sequences.private byte-arrays
-alien prettyprint.custom parser accessors ;
+alien prettyprint.custom parser accessors locals ;
 IN: nibble-arrays
 
 TUPLE: nibble-array
@@ -20,8 +20,10 @@ CONSTANT: nibble BIN: 1111
 : get-nibble ( n byte -- nibble )
     swap neg shift nibble bitand ; inline
 
-: set-nibble ( value n byte -- byte' )
-    nibble pick shift bitnot bitand -rot shift bitor ; inline
+:: set-nibble ( value n byte -- byte' )
+    byte nibble n shift bitnot bitand
+    value n shift
+    bitor ; inline
 
 : nibble@ ( n nibble-array -- shift n' byte-array )
     [ >fixnum byte/nibble ] [ underlying>> ] bi* ; inline