From 17941b8ad73661a544ae28b3fdfb8dee176d9602 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 24 Nov 2013 12:01:08 -0800 Subject: [PATCH] math.bitwise: speed up >signed. --- basis/math/bitwise/bitwise.factor | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/basis/math/bitwise/bitwise.factor b/basis/math/bitwise/bitwise.factor index e5929abe54..b5d778c8bf 100644 --- a/basis/math/bitwise/bitwise.factor +++ b/basis/math/bitwise/bitwise.factor @@ -21,8 +21,7 @@ IN: math.bitwise : mask-bit ( m n -- m' ) 2^ mask ; inline : toggle-bit ( m n -- m' ) 2^ bitxor ; inline : >signed ( x n -- y ) - [ bits ] keep 2dup neg 1 + shift - 1 number= [ 2^ - ] [ drop ] if ; + [ bits ] keep 2dup 1 - bit? [ 2^ - ] [ drop ] if ; inline : >odd ( m -- n ) 0 set-bit ; foldable : >even ( m -- n ) 0 clear-bit ; foldable : next-even ( m -- n ) >even 2 + ; foldable