From dc7ad97385c940c0a0d67b924c1b78159da5549d Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 23 Jun 2017 23:56:56 +0200 Subject: docs: cleanup directory, fix some porting information --- docs/probe_math_exception.c | 64 --------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 docs/probe_math_exception.c (limited to 'docs/probe_math_exception.c') diff --git a/docs/probe_math_exception.c b/docs/probe_math_exception.c deleted file mode 100644 index dbc9020d4..000000000 --- a/docs/probe_math_exception.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Small test program for probing how various math functions - * with specific operands set floating point exceptions - */ - -#define _ISOC99_SOURCE 1 -#define _GNU_SOURCE 1 - -#include -#include -#include -#include - -int main(int argc, char **argv) -{ - float largest, small, t, inf_float; - - largest = small = 1; - while (1) { - t = largest + small; - /* optimizations may make plain "t == largest" unreliable */ - if (memcmp(&t, &largest, sizeof(float)) == 0) - break; - if (isfinite(t)) { - largest = t; - small *= 2; - continue; - } - small /= 2; - } - inf_float = largest + largest; - //printf("%.40g ", largest); - //printf("[%llx]\n", (long long) (*(uint32_t *)&largest)); - - feclearexcept(FE_ALL_EXCEPT); - - //t = 1.0 / 0.0; // simple test: FE_DIVBYZERO - //t = nextafterf(largest, 1); // glibc 2.8: no math exceptions raised - //t = nextafterf(largest, largest); // glibc 2.8: no math exceptions raised - //t = nextafterf(largest, inf_float); // glibc 2.8: FE_INEXACT FE_OVERFLOW - -#define PREX(ex) do { if (fetestexcept(ex)) printf(#ex " "); } while(0) -#ifdef FE_INEXACT - PREX(FE_INEXACT); -#endif -#ifdef FE_DIVBYZERO - PREX(FE_DIVBYZERO); -#endif -#ifdef FE_UNDERFLOW - PREX(FE_UNDERFLOW); -#endif -#ifdef FE_OVERFLOW - PREX(FE_OVERFLOW); -#endif -#ifdef FE_INVALID - PREX(FE_INVALID); -#endif - if (fetestexcept(FE_ALL_EXCEPT)) - printf("\n"); - else - printf("no math exceptions raised\n"); - - printf("%.40g\n", t); - return 0; -} -- cgit v1.2.3