1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/missing/nan.c

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
604 B
C
Raw Normal View History

#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;
}
}