math.ranges: Stopgap fix for math.ranges unit tests. See issues #803, #800, #508.

db4
Doug Coleman 2013-03-20 15:53:37 -07:00
parent d5e5991671
commit 07e223564f
1 changed files with 9 additions and 1 deletions

View File

@ -9,8 +9,16 @@ TUPLE: range
{ length read-only } { length read-only }
{ step read-only } ; { step read-only } ;
<PRIVATE
: sign/mod ( x y -- z w ) [ [ /i ] 2keep pick * - ] keep 0 < [ neg ] when ; inline
PRIVATE>
: <range> ( a b step -- range ) : <range> ( a b step -- range )
[ over - ] dip [ /i 1 + 0 max ] keep range boa ; inline [ over - ] dip
[ sign/mod 0 < [ 1 + ] unless 0 max ] keep
range boa ; inline
M: range length ( seq -- n ) length>> ; inline M: range length ( seq -- n ) length>> ; inline