in reply to Re: [OT] Accessing python3's print() of floating point values
in thread [OT] Accessing python3's print() of floating point values

perl6 -e "say 2 ** -1074"

Kudos to perl6 if it's now implementing the algorithm that outputs as few decimal digits as are necessary.
My older perl6 (Perl 6.c) gives me:
$ perl6 -e "say 2 ** -1074" Numeric overflow in block <unit> at -e line 1 Actually thrown at: in block <unit> at -e line 1
What does your perl6 output for:
perl6 -e "say 2 ** 0.5"
Does perl6 yet provide "long double" and "__float128" builds ? They are the types I'm currently unable to independently verify.
(As I mentioned in my original post, for "doubles" I can already verify my outputs against python3.)

Cheers,
Rob

Replies are listed 'Best First'.
Re^3: [OT] Accessing python3's print() of floating point values
by Anonymous Monk on Jan 21, 2019 at 14:28 UTC

    I use perl6::version=2018.04.1 and also perl6::version=2018.10.1

    The results for version 2018.04.1 (isn't this rather old?) are:

    For perl6 -e "say 2 ** 0.5": 1.4142135623730951

    For perl6 -e "say 2 ** -1074": 5e-324

    So you should give a somewhat newer version a try

    My results are from the rakudo-star-2018.04-x86_64 (JIT).msi on Windows

      For perl6 -e "say 2 ** 0.5": 1.4142135623730951
      For perl6 -e "say 2 ** -1074": 5e-324


      Yes, those are the results that perl5 ought also (IMO) be producing - as opposed to the inaccurate "1.4142135623731" and the pointlessly lengthy "4.94065645841247e-324" that are currently output.

      However, as I mentioned earlier, I can already verify double-precision values by comparing to python3 output.
      I'm looking for something that will enable me to verify long double-precision and __float128-precision values. (Last time I checked I couldn't find any such builds of perl6.)

      Cheers,
      Rob