http://qs321.pair.com?node_id=1158122


in reply to [perl6] More Inline::Perl5 musings

The Perl6 Spec allows for native num128, but MoarVM seems to only support native 32 and 64-bit nums (It's unclear to me how to actually reach the "long double" case). Eventually one should be able to do this:

# Not yet: $ perl6 -e 'my num128 $one = Num(1); $one += 1e-30; say $one == 1' False

I have no idea or intuition for how hard it might be to get num128 to work in MoarVM, but apparently num128 isn't on the roadmap for the near future.

In response to Tux (who probably already knows this), Perl6 Rats are great for general-purpose computing (and completely awesome in financial software), but only higher precision will do for numerical simulation. Until we have num128, there is value to Math::Float128:

$ perl6 -e 'my $one = 1; $one += 1e-16; say $one == 1' True $ perl6 -e 'say pi ** 621' Inf $ perl6 -e 'say sin(pi/2).WHAT' (Num) $ perl6 -e 'my $val = sin(pi/2) + 0.1; my $eleven = 0; $eleven += $val + for 1..10; say $eleven == 11' False

Good Day,
    Dean