Free42 possible accuracy flaw
|
03-23-2022, 06:02 PM
(This post was last modified: 03-23-2022 06:12 PM by Thomas Okken.)
Post: #13
|
|||
|
|||
RE: Free42 possible accuracy flaw
There are a few optimizations that could (and should) be added: after scaling the mantissa, check if it is equal to 1, and if so, skip the whole squaring-and-multiplication loop; check if the exponent is greater than 112, and if so, jump directly to the inexact case, since no power greater than 112 of a nontrivial integer base fits in 34 digits; and if the scale times the exponent is greater than 33, jump directly to the inexact case.
That last one is based on the scale as defined by the bid128_ilogb() function, which is basically the power of 10, such that a scale of 0 means a number greater than or equal to 1 and less than 10, in other words, floor(log10(fabs(x))). When raising to a positive integer power n, the scale is guaranteed to grow by at least a factor n. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)