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

Re: [perl #120426] Strange and unwarranted underflow instring-to-number

Thread Previous | Thread Next
From:
Dave Mitchell
Date:
December 25, 2013 21:51
Subject:
Re: [perl #120426] Strange and unwarranted underflow instring-to-number
Message ID:
20131225215039.GP2490@iabyn.com
On Tue, Dec 03, 2013 at 01:31:27PM +0000, Dave Mitchell wrote:
> On Mon, Dec 02, 2013 at 04:34:34PM +0000, Dave Mitchell wrote:
> > On Mon, Dec 02, 2013 at 03:42:59PM +0000, Zefram wrote:
> > > Dave Mitchell wrote:
> > > >    I fixed this by stopping the processing of the integer or fractional
> > > >    component once its been detected that only zeroes are left (with a
> > > >    suitable adjustment of the exponent).
> > > 
> > > Eww.  That won't fix cases where the extra digits are non-zero, such as
> > > 
> > > $ echo 0.15301e-305 | perl -e '$v = <STDIN>; print "v=", $v + 0, "\n";'
> > > v=0
> > > $ echo 0.15399e-305 | perl -e '$v = <STDIN>; print "v=", $v + 0, "\n";'
> > > v=0
> > 
> > 
> > Oh yeah :-(
> > 
> > I'll need to rethink that.
> 
> Second attempt now smoking as smoke-me/davem/float1:
> 
> commit 72cfc3028683d7d6428ee0b881a788aba667fe8e
> Author:     David Mitchell <davem@iabyn.com>
> AuthorDate: Mon Dec 2 15:04:49 2013 +0000
> Commit:     David Mitchell <davem@iabyn.com>
> CommitDate: Tue Dec 3 12:30:01 2013 +0000
> 
>     [perl #120426] atof() small value rounding errors
>     
>     For something like 0.153e-305, which is small, but not quite the smallest
>     number (which is around 2.2e-308), adding extra digits to the fractional par
>     could cause unnecessary rounding to zero.

Now in blead as b27804d8b48d647c08dc853b49e5b311fe166616.

This doesn't address comments that appeared further in this thread.

-- 
Music lesson: a symbiotic relationship whereby a pupil's embellishments
concerning the amount of practice performed since the last lesson are
rewarded with embellishments from the teacher concerning the pupil's
progress over the corresponding period.

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