Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@sifive.com>2020-10-28 18:41:26 +0300
committerCorinna Vinschen <corinna@vinschen.de>2020-10-29 11:39:35 +0300
commit0020d2dd7c0eedcc19d20edeb7d66006927e202a (patch)
tree69cd1b158b9118eb596321fb8d58ce3705805bec /newlib/libm
parent7fa743ca9468d7725953ebdfb0d0b53ad126c14c (diff)
RISC-V: NaN should return 0 for finite[f]
Diffstat (limited to 'newlib/libm')
-rw-r--r--newlib/libm/machine/riscv/s_finite.c2
-rw-r--r--newlib/libm/machine/riscv/sf_finite.c2
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 f5336e5dc..1f1f2244d 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 f1cf5c6ce..a17b0fa36 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"