diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2020-10-28 23:41:26 +0800 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2020-10-29 09:39:35 +0100 |
commit | 0020d2dd7c0eedcc19d20edeb7d66006927e202a (patch) | |
tree | 69cd1b158b9118eb596321fb8d58ce3705805bec /newlib/libm | |
parent | 7fa743ca9468d7725953ebdfb0d0b53ad126c14c (diff) | |
download | newlib-0020d2dd7c0eedcc19d20edeb7d66006927e202a.zip newlib-0020d2dd7c0eedcc19d20edeb7d66006927e202a.tar.gz newlib-0020d2dd7c0eedcc19d20edeb7d66006927e202a.tar.bz2 |
RISC-V: NaN should return 0 for finite[f]
Diffstat (limited to 'newlib/libm')
-rw-r--r-- | newlib/libm/machine/riscv/s_finite.c | 2 | ||||
-rw-r--r-- | newlib/libm/machine/riscv/sf_finite.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/newlib/libm/machine/riscv/s_finite.c b/newlib/libm/machine/riscv/s_finite.c index f5336e5..1f1f224 100644 --- a/newlib/libm/machine/riscv/s_finite.c +++ b/newlib/libm/machine/riscv/s_finite.c @@ -44,7 +44,7 @@ int finite(double x) { long fclass = _fclass_d (x); - return (fclass & FCLASS_INF) == 0; + return (fclass & (FCLASS_INF | FCLASS_NAN)) == 0; } #else #include "../../common/s_finite.c" diff --git a/newlib/libm/machine/riscv/sf_finite.c b/newlib/libm/machine/riscv/sf_finite.c index f1cf5c6..a17b0fa 100644 --- a/newlib/libm/machine/riscv/sf_finite.c +++ b/newlib/libm/machine/riscv/sf_finite.c @@ -41,7 +41,7 @@ int finitef(float x) { long fclass = _fclass_f (x); - return (fclass & FCLASS_INF) == 0; + return (fclass & (FCLASS_INF | FCLASS_NAN)) == 0; } #else #include "../../common/sf_finite.c" |