develooper Front page | perl.perl5.porters | Postings from October 2003

Re: [perl #24160] BUG REPORT: INTEGER MATH OCCURRING WHEN NOT EXPECTED

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
October 9, 2003 13:25
Subject:
Re: [perl #24160] BUG REPORT: INTEGER MATH OCCURRING WHEN NOT EXPECTED
Message ID:
20031009202504.GH14030@plum.flirble.org
On Wed, Oct 08, 2003 at 04:39:31PM -0000, wasquith@red1ast.cr.usgs.gov (via RT) wrote:

> I have stumbled onto strange float/integer/string behavior on Perl5.8.0 and
> Perl5.8.1 that did not exist in prior Perls.  I have read (see REFERENCES) 
> that Numbers are better behaved in Perl5.8.+ and math is no longer purely 
> floating point.  I am certain that this change has a weakness.

This change was motivated by the desire to cope with the increasing
use of 64 bit values in everyday use, such as files >2Gb, 64 bit device
numbers and nanosecond timings

It means that configuring perl to use 64 bit integers doesn't cause other
parts of arithmetic to go wrong. I'm still digesting your comprehensive
report, but I don't believe that what you are seeing should be happening
(hence it would seem that it is a bug in the implementation)


If you compile perl with the C pre-processor flag NO_PERL_PRESERVE_IVUV
defined you should get (close to) the 5.6.1 implementation of numeric
operations. This may solve your problems.

Meanwhile, I will continue to investigate your report. If possible,
could you also try the modifications that Dave Mitchell suggested?

Thanks

Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About