This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH v2] Don't call double rint from float powf.
- From: Jim Wilson <jimw at sifive dot com>
- To: newlib at sourceware dot org
- Cc: Jim Wilson <jimw at sifive dot com>
- Date: Tue, 12 Dec 2017 11:38:01 -0800
- Subject: [PATCH v2] Don't call double rint from float powf.
- Authentication-results: sourceware.org; auth=none
- References: <20171212000802.4190-1-jimw@sifive.com>
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.
---
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 be453558b..9a10254bf 100644
--- a/newlib/libm/math/wf_pow.c
+++ b/newlib/libm/math/wf_pow.c
@@ -127,11 +127,11 @@
if (_LIB_VERSION == _SVID_) {
exc.retval = HUGE;
y *= 0.5;
- if(x<0.0&&rint(y)!=y) exc.retval = -HUGE;
+ if(x<0.0f&&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.0f&&rintf(y)!=y) exc.retval = -HUGE_VAL;
}
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
--
2.14.1