diff options
author | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-16 18:49:26 +0900 |
---|---|---|
committer | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-30 00:39:06 +0900 |
commit | fcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch) | |
tree | 64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/missing/isnan.c |
Fresh start
Diffstat (limited to 'jni/ruby/missing/isnan.c')
-rw-r--r-- | jni/ruby/missing/isnan.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/jni/ruby/missing/isnan.c b/jni/ruby/missing/isnan.c new file mode 100644 index 0000000..ed10bf5 --- /dev/null +++ b/jni/ruby/missing/isnan.c @@ -0,0 +1,32 @@ +/* public domain rewrite of isnan(3) */ + +#include "ruby/missing.h" + +/* + * isnan() may be a macro, a function or both. + * (The C99 standard defines that isnan() is a macro, though.) + * http://www.gnu.org/software/automake/manual/autoconf/Function-Portability.html + * + * macro only: uClibc + * both: GNU libc + * + * This file is compile if no isnan() function is available. + * (autoconf AC_REPLACE_FUNCS detects only the function.) + * The macro is detected by following #ifndef. + */ + +#ifndef isnan +static int double_ne(double n1, double n2); + +int +isnan(double n) +{ + return double_ne(n, n); +} + +static int +double_ne(double n1, double n2) +{ + return n1 != n2; +} +#endif |