This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mark.dickinson
Recipients mark.dickinson, paul.moore, pitrou, python-dev, r.david.murray, serhiy.storchaka, skrah, steve.dower, tim.golden, tim.peters, vstinner, zach.ware
Date 2016-01-20.16:07:03
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
The dtoa.c occurrence is also straightforward to fix. It's coming from this declaration:

    static const double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128,

We need to be a tiny bit careful here, since dtoa.c is fragile code and relies on exact representation of some floats. But this isn't one of them: the only thing that tinytens is used for is getting a first approximation to the correct strtod conversion before the main iteration kicks in.

So replacing that last tinytens value with a suitably precise constant should be okay. The *exact* value of the constant we need is 0x1.8062864ac6f43p-745, or in decimal: 


But 8.112963841460668e-225 should be good enough (along with a comment explaining why the expression was changed). If MSVC supported C99's hex constants, we could just use 0x1.8062864ac6f43p-745. But it doesn't. :-(
Date User Action Args
2016-01-20 16:07:03mark.dickinsonsetrecipients: + mark.dickinson, tim.peters, paul.moore, pitrou, vstinner, tim.golden, r.david.murray, skrah, python-dev, zach.ware, serhiy.storchaka, steve.dower
2016-01-20 16:07:03mark.dickinsonsetmessageid: <>
2016-01-20 16:07:03mark.dickinsonlinkissue25934 messages
2016-01-20 16:07:03mark.dickinsoncreate