Ruby: missing/isnan.c Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

isnan.c
Go to the documentation of this file.
1/* public domain rewrite of isnan(3) */
2
3#include "ruby/missing.h"
4
5/*
6 * isnan() may be a macro, a function or both.
7 * (The C99 standard defines that isnan() is a macro, though.)
8 * http://www.gnu.org/software/automake/manual/autoconf/Function-Portability.html
9 *
10 * macro only: uClibc
11 * both: GNU libc
12 *
13 * This file is compile if no isnan() function is available.
14 * (autoconf AC_REPLACE_FUNCS detects only the function.)
15 * The macro is detected by following #ifndef.
16 */
17
18#ifndef isnan
19static int double_ne(double n1, double n2);
20
21int
22 isnan(double n)
23{
24 return double_ne(n, n);
25}
26
27static int
28double_ne(double n1, double n2)
29{
30 return n1 != n2;
31}
32#endif
missing.h
Prototype for *.c in ./missing, and for missing timeval struct.
isnan
#define isnan(x)
Definition: win32.h:346