Browse Source

math: raise flags in logl.c on <= 0 arguments

rs-1.0
Szabolcs Nagy 14 years ago
parent
commit
e2fe959fe2
  1. 3
      src/math/log2l.c
  2. 9
      src/math/logl.c

3
src/math/log2l.c

@ -108,8 +108,7 @@ static const long double S[4] = {
long double log2l(long double x) long double log2l(long double x)
{ {
long double z; long double y, z;
long double y;
int e; int e;
if (isnan(x)) if (isnan(x))

9
src/math/logl.c

@ -50,11 +50,6 @@
* In the tests over the interval exp(+-10000), the logarithms * In the tests over the interval exp(+-10000), the logarithms
* of the random arguments were uniformly distributed over * of the random arguments were uniformly distributed over
* [-10000, +10000]. * [-10000, +10000].
*
* ERROR MESSAGES:
*
* log singularity: x = 0; returns -INFINITY
* log domain: x < 0; returns NAN
*/ */
#include "libm.h" #include "libm.h"
@ -121,8 +116,8 @@ long double logl(long double x)
return x; return x;
if (x <= 0.0) { if (x <= 0.0) {
if (x == 0.0) if (x == 0.0)
return -INFINITY; return -1/(x+0); /* -inf with divbyzero */
return NAN; return 0/0.0f; /* nan with invalid */
} }
/* separate mantissa from exponent */ /* separate mantissa from exponent */

Loading…
Cancel
Save