From 2369a552cf62dfb53f14978587a338072f6abd2c Mon Sep 17 00:00:00 2001 From: Richard Date: Wed, 19 Apr 2017 18:37:17 -0500 Subject: [PATCH 2/2] Convert rint() to rintf() This was causing an unnecessary increase in precision, as well as additional function calls to do float->double conversion on platforms with only a single-precision FPU. --- newlib/libm/math/wf_pow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/newlib/libm/math/wf_pow.c b/newlib/libm/math/wf_pow.c index bd9de0ad0..5b79dd151 100644 --- a/newlib/libm/math/wf_pow.c +++ b/newlib/libm/math/wf_pow.c @@ -126,11 +126,11 @@ if (_LIB_VERSION == _SVID_) { exc.retval = HUGE; y *= 0.5; - if(x<0.0&&rint(y)!=y) exc.retval = -HUGE; + if(x<0.0&&rintf(y)!=y) exc.retval = -HUGE; } else { exc.retval = HUGE_VAL; y *= 0.5; - if(x<0.0&&rint(y)!=y) exc.retval = -HUGE_VAL; + if(x<0.0&&rintf(y)!=y) exc.retval = -HUGE_VAL; } if (_LIB_VERSION == _POSIX_) errno = ERANGE; -- 2.11.0