On Wed Jan 19 01:29:06 2011, payload wrote: > On Mo, 2011-01-17 at 13:34 -0800, Moritz Lenz via RT wrote: > > On 01/16/2011 07:47 PM, Gilbert R. Roehrbein (via RT) wrote: > > > fixes the problem which you encounter when you try to evaluate > > > +(23..2300000000) > > > > ... and creates others. Consider > > > > (0..^3.3).Numeric > > > > Where you patch makes it return 3, but 4 is the correct answer. > > shame :( but fixed it ^^ > > > Maybe checking for ~~ Int instead of ~~ Numeric helps, but we also need > > to more tests. > > does now work for following ranges > > for $(^3.3), $(0..3), $(-2..0), $(-2.9..3.1), $(1.9..3.1) { > my $a := +$_; > my $b := .elems; > say "{.perl}\t\t$a != $b" if $a != $b; > }
Sorry about the delay: Added tests to S02-types/range.t, and applied a heavily modified version of the patch (there were some edge cases that were still failing with the patch as is.) $ time ./perl6 -e 'say +(123..123121231231231212321)' 123121231231231212199 real 0m0.475s user 0m0.369s sys 0m0.101s -- Will "Coke" Coleda