[Issue 16026] std.math.frexp!float() wrong for very small subnormal values

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue May 17 17:06:53 PDT 2016


thomas.bockman at gmail.com changed:

           What    |Removed                     |Added
             Status|NEW                         |ASSIGNED
           Assignee|nobody at puremagic.com        |thomas.bockman at gmail.com

--- Comment #2 from thomas.bockman at gmail.com ---
> Before it did the operation at real precision, then down casted.

The function is bugged. I did a straightforward rewrite of frexp() just based
on the docs, and my version produces the expected answer without any need for
extra precision.

However, my rewrite depends upon a revised version of my floating-point
decomposition union type, so fixing #16026 will have to wait until after the
union itself gets accepted into std.math or std.bitmanip.

(And that, in turn, may have to wait until I get a newly discovered DMD codegen
bug fixed.)


More information about the Digitalmars-d-bugs mailing list