math: raise exception flags in log1pl.c on <= -1 arguments
authorSzabolcs Nagy <nsz@port70.net>
Mon, 12 Nov 2012 23:21:09 +0000 (00:21 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Mon, 12 Nov 2012 23:21:09 +0000 (00:21 +0100)
src/math/log1pl.c

index 1400d365755cd1c9d42a4a3213796aaa66c523fb..edb48df1cd9c0ea5bdfb937f377654304651e4c4 100644 (file)
  *                      Relative error:
  * arithmetic   domain     # trials      peak         rms
  *    IEEE     -1.0, 9.0    100000      8.2e-20    2.5e-20
- *
- * ERROR MESSAGES:
- *
- * log singularity:  x-1 = 0; returns -INFINITY
- * log domain:       x-1 < 0; returns NAN
  */
 
 #include "libm.h"
@@ -123,8 +118,8 @@ long double log1pl(long double xm1)
        /* Test for domain errors.  */
        if (x <= 0.0) {
                if (x == 0.0)
-                       return -INFINITY;
-               return NAN;
+                       return -1/x; /* -inf with divbyzero */
+               return 0/0.0f; /* nan with invalid */
        }
 
        /* Separate mantissa from exponent.