URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [linux/] [uClibc/] [libm/] [nan.c] - Rev 1765
Compare with Previous | Blame | View Log
/*********************************************************************** nan, nanf, nanl - return quiet NaN These functions shall return a quiet NaN, if available, with content indicated through tagp. If the implementation does not support quiet NaNs, these functions shall return zero. Calls: strlen(), sprintf(), strtod() ***********************************************************************/ #include <math.h> #include <string.h> #include <stdlib.h> #include <stdio.h> double nan (const char *tagp) { if (tagp[0] != '\0') { char buf[6 + strlen (tagp)]; sprintf (buf, "NAN(%s)", tagp); return strtod (buf, NULL); } return NAN; } float nanf (const char *tagp) { if (tagp[0] != '\0') { char buf[6 + strlen (tagp)]; sprintf (buf, "NAN(%s)", tagp); return strtof (buf, NULL); } return NAN; } #if 0 long double nanl (const char *tagp) { if (tagp[0] != '\0') { char buf[6 + strlen (tagp)]; sprintf (buf, "NAN(%s)", tagp); return strtold (buf, NULL); } return NAN; } #endif