diff --git a/basis/math/ranges/ranges-tests.factor b/basis/math/ranges/ranges-tests.factor index 1f8b63bbab..a65ac20504 100644 --- a/basis/math/ranges/ranges-tests.factor +++ b/basis/math/ranges/ranges-tests.factor @@ -1,4 +1,4 @@ -USING: math math.ranges sequences sets tools.test arrays ; +USING: arrays kernel math math.ranges sequences sets tools.test ; IN: math.ranges.tests [ { } ] [ 1 1 (a,b) >array ] unit-test @@ -51,3 +51,8 @@ IN: math.ranges.tests [ 100 ] [ 1 100 [a,b] [ 2^ [1,b] ] map members length ] unit-test + +{ t } [ -10 10 1 [ sum ] [ >array sum ] bi = ] unit-test +{ t } [ -10 10 2 [ sum ] [ >array sum ] bi = ] unit-test +{ t } [ 10 -10 -1 [ sum ] [ >array sum ] bi = ] unit-test +{ t } [ 10 -10 -2 [ sum ] [ >array sum ] bi = ] unit-test diff --git a/basis/math/ranges/ranges.factor b/basis/math/ranges/ranges.factor index d257a7dff2..4c63fd3f3c 100644 --- a/basis/math/ranges/ranges.factor +++ b/basis/math/ranges/ranges.factor @@ -32,6 +32,8 @@ M: range hashcode* tuple-hashcode ; INSTANCE: range immutable-sequence +M: range sum [ length ] [ first ] [ last ] tri + * 2 / ; + -1 1 ? ; inline