From d60d098c1167128a673a50e264e5f3acc257c5da Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 7 Jun 2015 11:07:58 -0700 Subject: [PATCH] math.integers: speedup to fixnum-bit?. --- core/math/integers/integers.factor | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/math/integers/integers.factor b/core/math/integers/integers.factor index 04918ad9e6..e553d93a00 100644 --- a/core/math/integers/integers.factor +++ b/core/math/integers/integers.factor @@ -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