Don't call double rint from float powf.
Updated patch to use 0.0f in addition to calling rintf. Tested same way as before, with a testcase that triggers the code and make check. OK? newlib/ * libm/math/wf_pow.c (powf): Call rintf instead of rint. Use 0.0f for compare.
This commit is contained in:
parent
efce18d754
commit
c338bc2255
|
@ -127,11 +127,11 @@
|
||||||
if (_LIB_VERSION == _SVID_) {
|
if (_LIB_VERSION == _SVID_) {
|
||||||
exc.retval = HUGE;
|
exc.retval = HUGE;
|
||||||
y *= 0.5;
|
y *= 0.5;
|
||||||
if(x<0.0&&rint(y)!=y) exc.retval = -HUGE;
|
if(x<0.0f&&rintf(y)!=y) exc.retval = -HUGE;
|
||||||
} else {
|
} else {
|
||||||
exc.retval = HUGE_VAL;
|
exc.retval = HUGE_VAL;
|
||||||
y *= 0.5;
|
y *= 0.5;
|
||||||
if(x<0.0&&rint(y)!=y) exc.retval = -HUGE_VAL;
|
if(x<0.0f&&rintf(y)!=y) exc.retval = -HUGE_VAL;
|
||||||
}
|
}
|
||||||
if (_LIB_VERSION == _POSIX_)
|
if (_LIB_VERSION == _POSIX_)
|
||||||
errno = ERANGE;
|
errno = ERANGE;
|
||||||
|
|
Loading…
Reference in New Issue