[newlib-cygwin] libm/math: Set errno to ERANGE for pow(0, -y)
Corinna Vinschen
corinna@sourceware.org
Wed Aug 5 20:43:16 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=98a4f8de47602e3aaff50715d53fc49fb43d0d9e
commit 98a4f8de47602e3aaff50715d53fc49fb43d0d9e
Author: Keith Packard via Newlib <newlib@sourceware.org>
Date: Tue Aug 4 15:22:22 2020 -0700
libm/math: Set errno to ERANGE for pow(0, -y)
POSIX says that the errno for pow(0, -y) should be ERANGE instead of
EDOM.
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pow.html
Signed-off-by: Keith Packard <keithp@keithp.com>
Diff:
---
newlib/libm/math/w_pow.c | 3 +--
newlib/libm/math/wf_pow.c | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/newlib/libm/math/w_pow.c b/newlib/libm/math/w_pow.c
index 6e953360a..d8556a170 100644
--- a/newlib/libm/math/w_pow.c
+++ b/newlib/libm/math/w_pow.c
@@ -84,8 +84,7 @@ PORTABILITY
}
if(finite(y)&&y<0.0) {
/* 0**neg */
- errno = EDOM;
- return -HUGE_VAL;
+ errno = ERANGE;
}
return z;
}
diff --git a/newlib/libm/math/wf_pow.c b/newlib/libm/math/wf_pow.c
index 73648b83f..e551e6b48 100644
--- a/newlib/libm/math/wf_pow.c
+++ b/newlib/libm/math/wf_pow.c
@@ -50,8 +50,7 @@
}
if(finitef(y)&&y<0.0f) {
/* 0**neg */
- errno = EDOM;
- return -HUGE_VALF;
+ errno = ERANGE;
}
return z;
}
More information about the Newlib-cvs
mailing list