Message407025
Note that, on Windows, ldexp() in the presence of denorms can truncate. Division rounds, so
assert x / 2**i == ldexp(x, -i)
can fail.
>>> import math
>>> d = math.nextafter(0.0, 1.0)
>>> d
5e-324
>>> d3 = 7 * d # .0000...0111
>>> d3
3.5e-323
>>> d3 / 4.0 # rounds
1e-323
>>> math.ldexp(d3, -2) # truncates
5e-324
or, perhaps more dramatically,
>>> d3 / 8.0, math.ldexp(d3, -3)
(5e-324, 0.0) |
|
Date |
User |
Action |
Args |
2021-11-26 04:10:33 | tim.peters | set | recipients:
+ tim.peters, rhettinger, mark.dickinson, steven.daprano |
2021-11-26 04:10:33 | tim.peters | set | messageid: <1637899833.63.0.406951961128.issue45876@roundup.psfhosted.org> |
2021-11-26 04:10:33 | tim.peters | link | issue45876 messages |
2021-11-26 04:10:33 | tim.peters | create | |
|