[Numpy-svn] r8322 - trunk/numpy/core/src/npymath

numpy-svn@scip... numpy-svn@scip...
Sun Apr 4 23:03:25 CDT 2010


Author: charris
Date: 2010-04-04 23:03:25 -0500 (Sun, 04 Apr 2010)
New Revision: 8322

Modified:
   trunk/numpy/core/src/npymath/npy_math.c.src
Log:
ENH: Try to make log1p a bit more resistant to compiler shenanigans.
STY: Couple of style fixups.

Modified: trunk/numpy/core/src/npymath/npy_math.c.src
===================================================================
--- trunk/numpy/core/src/npymath/npy_math.c.src	2010-04-05 04:03:22 UTC (rev 8321)
+++ trunk/numpy/core/src/npymath/npy_math.c.src	2010-04-05 04:03:25 UTC (rev 8322)
@@ -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 @@
 #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



More information about the Numpy-svn mailing list