From: Doug Coleman Date: Fri, 29 Jul 2022 17:19:40 +0000 (-0500) Subject: multisets: Fix multiset-clear (size was not reset) X-Git-Tag: 0.99~1263 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=cfe74cbb53e02316a49f5f606e52fa37a379271a multisets: Fix multiset-clear (size was not reset) --- diff --git a/extra/multisets/multisets-tests.factor b/extra/multisets/multisets-tests.factor index a727228126..640b7e5dbe 100644 --- a/extra/multisets/multisets-tests.factor +++ b/extra/multisets/multisets-tests.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2022 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel multisets prettyprint tools.test ; +USING: accessors kernel multisets prettyprint tools.test ; IN: multisets.tests { multiset{ } } [ @@ -30,3 +30,7 @@ IN: multisets.tests { } [ multiset{ 100 100 } [ . ] multiset-each ] unit-test + +{ 0 } [ multiset{ } size>> ] unit-test +{ 0 } [ multiset{ 100 100 } [ multiset-clear ] [ size>> ] bi ] unit-test +{ 2 } [ multiset{ 100 100 } size>> ] unit-test diff --git a/extra/multisets/multisets.factor b/extra/multisets/multisets.factor index 0c06eaf8be..bcc4358265 100644 --- a/extra/multisets/multisets.factor +++ b/extra/multisets/multisets.factor @@ -28,7 +28,8 @@ TUPLE: multiset size avl hash ; : multiset-clear ( multiset -- ) [ hash>> clear-assoc ] - [ avl>> f >>root 0 >>count drop ] bi ; + [ avl>> f >>root 0 >>count drop ] + [ 0 >>size drop ] tri ; : multiset-empty? ( multiset -- ? ) avl>> assoc-size 0 eq? ; inline