From 7692c5d219a048c7ea41bde0e300a0f9908b2af2 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Thu, 16 Jul 2009 23:49:13 -0500 Subject: [PATCH] bit-arrays: specialize set-bits and clear-bits --- basis/bit-arrays/bit-arrays.factor | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/basis/bit-arrays/bit-arrays.factor b/basis/bit-arrays/bit-arrays.factor index be8c434e36..17c391636f 100644 --- a/basis/bit-arrays/bit-arrays.factor +++ b/basis/bit-arrays/bit-arrays.factor @@ -42,9 +42,13 @@ M: bit-array set-nth-unsafe [ byte/bit set-bit ] 2keep swap n>byte set-alien-unsigned-1 ; -: clear-bits ( bit-array -- ) 0 (set-bits) ; +GENERIC: clear-bits ( bit-array -- ) -: set-bits ( bit-array -- ) -1 (set-bits) ; +M: bit-array clear-bits 0 (set-bits) ; + +GENERIC: set-bits ( bit-array -- ) + +M: bit-array set-bits -1 (set-bits) ; M: bit-array clone [ length>> ] [ underlying>> clone ] bi bit-array boa ;