logf-ieee: Work around test failure on NetBSD 5.1.
[gnulib.git] / lib / logf.c
index 3bf0f13..f2d5250 100644 (file)
@@ -24,10 +24,17 @@ logf (float x)
 #undef logf
 {
 #if HAVE_LOGF
-  /* Work around the OSF/1 5.1 bug.  */
-  if (x == 0.0f)
-    /* Return -Infinity.  */
-    return -1.0f / 0.0f;
+  if (x <= 0.0f)
+    {
+      /* Work around the OSF/1 5.1 bug.  */
+      if (x == 0.0f)
+        /* Return -Infinity.  */
+        return -1.0f / 0.0f;
+      /* Work around the NetBSD 5.1 bug.  */
+      else /* x < 0.0 */
+        /* Return NaN.  */
+        return 0.0f / 0.0f;
+    }
   return logf (x);
 #else
   return (float) log ((double) x);