Posted to tcl by sebres at Mon Jun 24 17:08:04 GMT 2019view pretty
$ echo '
> #include <float.h>
> #include <math.h>
> #include <stdio.h>
> const char *cs(double x) { switch(fpclassify(x)) {
> case FP_INFINITE: return "Inf";
> case FP_NAN: return "NaN";
> case FP_NORMAL: return "normal";
> case FP_SUBNORMAL: return "subnormal";
> case FP_ZERO: return "zero";
> default: return "unknown";
> }}
> int main()
> {
> printf("%s: fpclassify: %d -- %s\n",
> sizeof(void *) == 8 ? "x64" : "x86", fpclassify(1e-314), cs(1e-314));
> return 0;
> }
> // ' > test.c; gcc -O2 -Wall -Wextra test.c -o test; ./test
# results:
x64: fpclassify: 17408 -- subnormal
x86: fpclassify: 1024 -- normal