diff options
author | Szabolcs Nagy <nsz@port70.net> | 2013-09-06 18:35:55 +0000 |
---|---|---|
committer | Szabolcs Nagy <nsz@port70.net> | 2013-09-06 18:35:55 +0000 |
commit | 9b0fcb441a44456c7b071c7cdaf90403f81ec05a (patch) | |
tree | ebb08b777b53c318dc8ba55cd2979a17689843d6 /src/math/__rem_pio2f.c | |
parent | f657fe4b9f734d7fdea515af8dffbf7c28ce4fbc (diff) | |
download | musl-9b0fcb441a44456c7b071c7cdaf90403f81ec05a.tar.gz musl-9b0fcb441a44456c7b071c7cdaf90403f81ec05a.tar.xz musl-9b0fcb441a44456c7b071c7cdaf90403f81ec05a.zip |
math: remove STRICT_ASSIGN macro
gcc did not always drop excess precision according to c99 at assignments before version 4.5 even if -std=c99 was requested which caused badly broken mathematical functions on i386 when FLT_EVAL_METHOD!=0 but STRICT_ASSIGN was not used consistently and it is worked around for old compilers with -ffloat-store so it is no longer needed the new convention is to get the compiler respect c99 semantics and when excess precision is not harmful use float_t or double_t or to specialize code using FLT_EVAL_METHOD
Diffstat (limited to 'src/math/__rem_pio2f.c')
-rw-r--r-- | src/math/__rem_pio2f.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/math/__rem_pio2f.c b/src/math/__rem_pio2f.c index 198ee91b..5bdeb529 100644 --- a/src/math/__rem_pio2f.c +++ b/src/math/__rem_pio2f.c @@ -44,7 +44,7 @@ int __rem_pio2f(float x, double *y) /* 25+53 bit pi is good enough for medium size */ if (ix < 0x4dc90fdb) { /* |x| ~< 2^28*(pi/2), medium size */ /* Use a specialized rint() to get fn. Assume round-to-nearest. */ - STRICT_ASSIGN(double, fn, x*invpio2 + 0x1.8p52); + fn = x*invpio2 + 0x1.8p52; fn = fn - 0x1.8p52; // FIXME #ifdef HAVE_EFFICIENT_IRINT |