[PATCH] Fix error in powf for (-1.0, NaN) input

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Fix error in powf for (-1.0, NaN) input

Fabian Schriever
Prevent confusion between -1.0 and 1.0 in powf. The corresponding
similar error was previously fixed for pow (see commit bb25dd1b)
---
 newlib/libm/math/ef_pow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/newlib/libm/math/ef_pow.c b/newlib/libm/math/ef_pow.c
index 524e3f9b0..d9e85a95e 100644
--- a/newlib/libm/math/ef_pow.c
+++ b/newlib/libm/math/ef_pow.c
@@ -79,7 +79,7 @@ ivln2_l  =  7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/
     /* x|y==NaN return NaN unless x==1 then return 1 */
  if(FLT_UWORD_IS_NAN(ix) ||
    FLT_UWORD_IS_NAN(iy)) {
-    if(ix==0x3f800000) return one;
+    if(hx==0x3f800000) return one;
     else return nanf("");
  }
 
--
2.24.1.windows.2


Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Fix error in powf for (-1.0, NaN) input

Corinna Vinschen
On Mar  2 15:40, Fabian Schriever wrote:

> Prevent confusion between -1.0 and 1.0 in powf. The corresponding
> similar error was previously fixed for pow (see commit bb25dd1b)
> ---
>  newlib/libm/math/ef_pow.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/newlib/libm/math/ef_pow.c b/newlib/libm/math/ef_pow.c
> index 524e3f9b0..d9e85a95e 100644
> --- a/newlib/libm/math/ef_pow.c
> +++ b/newlib/libm/math/ef_pow.c
> @@ -79,7 +79,7 @@ ivln2_l  =  7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/
>      /* x|y==NaN return NaN unless x==1 then return 1 */
>   if(FLT_UWORD_IS_NAN(ix) ||
>     FLT_UWORD_IS_NAN(iy)) {
> -    if(ix==0x3f800000) return one;
> +    if(hx==0x3f800000) return one;
>      else return nanf("");
>   }
>  
> --
> 2.24.1.windows.2
Pushed.


Thanks,
Corinna

--
Corinna Vinschen
Cygwin Maintainer
Red Hat

signature.asc (849 bytes) Download Attachment