mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
4680cecd57
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
28 lines
604 B
C
28 lines
604 B
C
#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;
|
|
}
|
|
}
|