]> gitweb.factorcode.org Git - factor.git/commitdiff
bit-sets: adjust M\ bit-set set-like to match capacity
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 1 Nov 2023 19:07:06 +0000 (12:07 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 1 Nov 2023 19:07:06 +0000 (12:07 -0700)
basis/bit-sets/bit-sets.factor
core/sets/sets-tests.factor

index 5e3d39d8c73adfee576f4d2f14fdca70945211bc..ce7ece0d1f886a7d5931de43402a3d3b5b82da08 100644 (file)
@@ -29,11 +29,6 @@ M: bit-set delete
 ! of the same length.
 <PRIVATE
 
-ERROR: check-bit-set-failed ;
-
-: check-bit-set ( bit-set -- bit-set )
-    dup bit-set? [ check-bit-set-failed ] unless ; inline
-
 : bit-set-map ( seq1 seq2 quot -- seq )
     [ drop 2length [ assert= ] keep ]
     [ [ [ underlying>> ] bi@ ] dip 2map ] 3bi
@@ -62,21 +57,14 @@ M: bit-set subset?
 M: bit-set members
     table>> [ length <iota> ] keep '[ _ nth-unsafe ] filter ;
 
-<PRIVATE
-
-: bit-set-like ( set bit-set -- bit-set' )
+M: bit-set set-like
     ! Throws an error if there are keys that can't be put
     ! in the bit set
     over bit-set? [ 2dup [ table>> length ] same? ] [ f ] if
     [ drop ] [
         [ members ] dip table>> length <bit-set>
         [ adjoin-all ] keep
-    ] if ;
-
-PRIVATE>
-
-M: bit-set set-like
-    bit-set-like check-bit-set ; inline
+    ] if ; inline
 
 M: bit-set clone
     table>> clone bit-set boa ;
index 4d27f8c8e0e519e3f92892c9381c622286e151c6..b16e97475d0f68bfaee27a82d782ba5f044b961b 100644 (file)
@@ -27,7 +27,7 @@ IN: sets.tests
 { { 1 2 3 } } [ HS{ 1 2 3 } { } set-like sort ] unit-test
 { { 1 2 3 } } [ { 1 2 2 3 3 } { } set-like ] unit-test
 { { 3 2 1 } } [ { 3 3 2 2 1 } { } set-like ] unit-test
-{ t } [ 4 <bit-set> 1 <bit-set> set-like 4 <bit-set> = ] unit-test
+{ t } [ 4 <bit-set> 1 <bit-set> set-like 1 <bit-set> = ] unit-test
 { t } [ { 1 2 3 } HS{ } set-like HS{ 1 2 3 } = ] unit-test
 
 { HS{ 1 2 3 } } [ { 1 2 3 } fast-set ] unit-test