Get isfinite, isinf, and isnan right in jerry-math (#4497)

- `finite` is not C99 but a BSD fp classification function, so it
  is removed.
- The standard specifies that `isnan` is a macro (just like
  `isfinite` and `isinf`), so the `isnan` function implementation
  is removed.
- `isfinite` incorrectly classified NAN as finite, which is fixed.
- `isinf` returned 1 for negative infinity. This is not a bug
  according to the standard, but is not aligned with recent glibc,
  which returns -1. This is changed to simplify testing.
- Added test cases for `isfinite` and `isinf` to the unit test of
  jerry-math.
- Added a new pass to unittests to ensure that jerry-math is
  tested.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
This commit is contained in:
Akos Kiss
2021-01-18 15:07:25 +01:00
committed by GitHub
parent c4676a21fe
commit ef8a6a9f39
8 changed files with 69 additions and 111 deletions
-3
View File
@@ -112,9 +112,6 @@ double fabs (double x);
double floor (double x);
double fmod (double x, double y);
int isnan (double x);
int finite (double x);
double nextafter (double x, double y);
/*