[Issue 21376] [x86-only] Returning 32-bit floats have wrong precision

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Nov 10 18:36:03 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=21376

--- Comment #3 from Iain Buclaw <ibuclaw at gdcproject.org> ---
hypot() isn't necessary, so that leaves just the lack of fstp/fld after calling
fsqrt.

---
import core.math;

float abs(float re, float im)
{
    float u = fabs(re);
    float v = fabs(im);
    return sqrt(u*u + v*v);
}

void log(real x)
{
    assert(x == 1);
}

void main()
{
    float re = 0.866025403784438646787;
    float im = 0.5;
    return log(abs(re, im));
}

--


More information about the Digitalmars-d-bugs mailing list