[PATCH 3/5] libm/math: Set errno to ERANGE for pow(0, -y)
Keith Packard via Newlib <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- 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; } -- 2.28.0