diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2010-04-05 04:03:25 +0000 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2010-04-05 04:03:25 +0000 |
commit | 6cc6cc62c53190e6deb980a4327f846b26dd156e (patch) | |
tree | b5bc4743b8c9cfdae8988efbe87f1a28be998fd5 /numpy | |
parent | 96985ac396cd904d4f2fed3c2f37417c249f2774 (diff) | |
download | numpy-6cc6cc62c53190e6deb980a4327f846b26dd156e.tar.gz |
ENH: Try to make log1p a bit more resistant to compiler shenanigans.
STY: Couple of style fixups.
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/core/src/npymath/npy_math.c.src | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/numpy/core/src/npymath/npy_math.c.src b/numpy/core/src/npymath/npy_math.c.src index 2841c9f41..04a09bcba 100644 --- a/numpy/core/src/npymath/npy_math.c.src +++ b/numpy/core/src/npymath/npy_math.c.src @@ -65,13 +65,14 @@ #ifndef HAVE_EXPM1 double npy_expm1(double x) { - double u = npy_exp(x); + const double u = npy_exp(x); + if (u == 1.0) { return x; - } else if (u-1.0 == -1.0) { + } else if (u - 1.0 == -1.0) { return -1; } else { - return (u-1.0) * x/npy_log(u); + return (u - 1.0) * x/npy_log(u); } } #endif @@ -79,11 +80,13 @@ double npy_expm1(double x) #ifndef HAVE_LOG1P double npy_log1p(double x) { - double u = 1. + x; - if (u == 1.0) { + const double u = 1. + x; + const double d = u - 1.; + + if (d == 0) { return x; } else { - return npy_log(u) * x / (u - 1); + return npy_log(u) * x / d; } } #endif |