develooper Front page | perl.perl5.porters | Postings from March 2013

[perl #117315] [Win32, 5.17.10] infinity is zero

Thread Previous | Thread Next
bulk88 via RT
March 25, 2013 23:07
[perl #117315] [Win32, 5.17.10] infinity is zero
Message ID:
On Sat Mar 23 21:15:58 2013, sisyphus wrote:
> This is a bug report for perl from,
> generated with the help of perlbug 1.39 running under perl 5.17.10.
> -----------------------------------------------------------------
> [Please describe your issue here]
> I don't know if this bug was present in 5.17.9 (and/or earlier).
> It affects only my 64-bit build of 5.17.10. My 32-bit builds,
> including the 64int build, are fine.
> Perl correctly evaluates 2**1e15 as infinity.
> But it evaluates 2**1e16 as 0. For exponents greater than 16, 0
> is also returned. (This shows up in one of the
> t/op/sprintf2.t tests as a 'divide-by-zero' error.)

sisyphus can you make a preprocessed (.i) ("-E" for GCC) file of pp.c
and attach it to this ticket? Use same exactly the same cmd line options
that were used in the build. I want to see if it was macro-defed to
something else. A .s asm file made with -S should do it. 

What OS version are you using?

A couple of things could have happened. New GCC has inlined pow() which
is not IEEE 754, or uses 80 bit precision (not likely on Win64, since
x87 is "deprecated" according to MS) for intermediate results, throws
and catches FP exceptions, uses 128 bit software precision or libmingwex
or libgcc are supplying a pow(), and those take priority over the MS c
lib's pow().

bulk88 ~ bulk88 at

via perlbug:  queue: perl5 status: rejected

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About