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