diff --git a/extra/math/binpack/binpack-tests.factor b/extra/math/binpack/binpack-tests.factor index 6f94b8ce22..d0d4630484 100644 --- a/extra/math/binpack/binpack-tests.factor +++ b/extra/math/binpack/binpack-tests.factor @@ -1,11 +1,13 @@ ! Copyright (C) 2008 John Benediktsson ! See http://factorcode.org/license.txt for BSD license -USING: kernel tools.test ; +USING: kernel tools.test math.binpack ; -[ t ] [ { { 3 } { 2 1 } } { 1 2 3 } 2 binpack-numbers = ] unit-test +[ t ] [ { V{ } } { } 1 binpack = ] unit-test -[ t ] [ { { 1000 } { 100 30 } { 70 40 23 } { 60 60 7 3 } } - { 100 23 40 60 1000 30 60 07 70 03 } 3 binpack-numbers = ] unit-test +[ t ] [ { { 3 } { 2 1 } } { 1 2 3 } 2 binpack* = ] unit-test + +[ t ] [ { { 1000 } { 100 60 30 7 } { 70 60 40 23 3 } } + { 100 23 40 60 1000 30 60 07 70 03 } 3 binpack* = ] unit-test diff --git a/extra/math/binpack/binpack.factor b/extra/math/binpack/binpack.factor index 6885789ee1..f6473f2e25 100644 --- a/extra/math/binpack/binpack.factor +++ b/extra/math/binpack/binpack.factor @@ -10,7 +10,7 @@ IN: math.binpack : binpack ( assoc n -- bins ) [ sort-values reverse [ length ] keep swap ] dip - [ / ceiling ] keep [ ] map + [ / ceiling ] keep swap [ ] map swap [ dupd (binpack) ] each ; : binpack* ( items n -- bins )