blob: 686c48a33665dbd8c77161dc36ddb0bcdd6e4ee3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include "ruby/missing.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
double
nan(const char *spec)
{
#if 0
/* FIXME: we have not yet seen any situation this is
* necessary. Please write a proper implementation that
* covers this branch. */
if (spec && spec[0]) {
double generated_nan;
int len = snprintf(NULL, 0, "NAN(%s)", spec);
char *buf = malloc(len + 1); /* +1 for NUL */
sprintf(buf, "NAN(%s)", spec);
generated_nan = strtod(buf, NULL);
free(buf);
return generated_nan;
}
else
#endif
{
assert(!spec || !spec[0]);
return (double)NAN;
}
}
|