mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	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;
 | 
						|
    }
 | 
						|
}
 |