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 christian.heimes, eric.smith, jeff.allen, koobs, lemburg, mark.dickinson, ned.deily, python-dev, serhiy.storchaka, stutzbach
Date 2016-08-29.12:23:27
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1472473409.04.0.194301968035.issue26040@psf.upfronthosting.co.za>
In-reply-to
Content
I've reviewed the test_math portion of the patch (which looks good, thank you!), and made a few revisions in iss26040_v3.patch.

1. I've rewritten the ulp() function to use struct. Same behaviour as before, but this way feels safer, since it doesn't rely on the exact form of the float.hex format.

2. I've reworked the ulp-based comparison to use the old to_ulps function, instead of basing it on ulp(). That's mostly just a personal preference: I prefer the symmetry of the abs(to_ulps(got) - to_ulps(expected)) form, and I think it behaves slightly better at or near powers of two. (If expected == 1.0 and got == 1.0 - 2**-51, I want that to be seen as 4 ulps error rather than 2.)

3. I increased the default ulp tolerance to 5 ulps, and increased the ulps tolerance for some of the special cases. There are some badly behaved libm implementations out there, and I don't want to break more buildbots than necessary.
History
Date User Action Args
2016-08-29 12:23:30mark.dickinsonsetrecipients: + mark.dickinson, lemburg, eric.smith, christian.heimes, ned.deily, stutzbach, python-dev, serhiy.storchaka, jeff.allen, koobs
2016-08-29 12:23:29mark.dickinsonsetmessageid: <1472473409.04.0.194301968035.issue26040@psf.upfronthosting.co.za>
2016-08-29 12:23:29mark.dickinsonlinkissue26040 messages
2016-08-29 12:23:28mark.dickinsoncreate