[newlib-cygwin] newlib: Don't do double divide in powf.
Corinna Vinschen
corinna@sourceware.org
Wed Dec 13 10:34:00 GMT 2017
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c874f1145ff5d2fa461cef21d6f8d575138fcdbf
commit c874f1145ff5d2fa461cef21d6f8d575138fcdbf
Author: Jim Wilson <jimw@sifive.com>
Date: Tue Dec 12 11:39:13 2017 -0800
newlib: Don't do double divide in powf.
* Use 0.0f instead of 0.0 in divide.
Diff:
---
newlib/libm/math/wf_pow.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/newlib/libm/math/wf_pow.c b/newlib/libm/math/wf_pow.c
index 9a10254..f753b52 100644
--- a/newlib/libm/math/wf_pow.c
+++ b/newlib/libm/math/wf_pow.c
@@ -108,7 +108,9 @@
if (_LIB_VERSION == _SVID_)
exc.retval = 0.0;
else
- exc.retval = 0.0/0.0; /* X/Open allow NaN */
+ /* Use a float divide, to avoid a soft-float double
+ divide call on single-float only targets. */
+ exc.retval = (0.0f/0.0f); /* X/Open allow NaN */
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!matherr(&exc)) {
More information about the Newlib-cvs
mailing list