]> gitweb.factorcode.org Git - factor.git/commitdiff
math.integers: speedup to fixnum-bit?.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 7 Jun 2015 18:07:58 +0000 (11:07 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 7 Jun 2015 18:08:57 +0000 (11:08 -0700)
core/math/integers/integers.factor

index 04918ad9e672928c251c46e58dead9de89520028..e553d93a00bbb3581ea9974479f0583f148a54cd 100644 (file)
@@ -51,8 +51,10 @@ M: fixnum shift integer>fixnum fixnum-shift ; inline
 
 M: fixnum bitnot fixnum-bitnot ; inline
 
-: fixnum-bit? ( n m -- b )
-    neg shift 1 bitand zero? not ; inline
+: fixnum-bit? ( x n -- ? )
+    integer>fixnum dup 0 >= [
+        neg fixnum-shift-fast even? not
+    ] [ 2drop f ] if ; inline
 
 M: fixnum bit? fixnum-bit? ; inline