Merge commit 'a39d4083cab589d7cd6a13e8a4b8db8875261d75'
[gnulib.git] / lib / log10f.c
index bc46e5f..a071026 100644 (file)
@@ -1,5 +1,5 @@
 /* Base 10 logarithmic function.
-   Copyright (C) 2011-2012 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -24,10 +24,17 @@ log10f (float x)
 #undef log10f
 {
 #if HAVE_LOG10F
-  /* 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 log10f (x);
 #else
   return (float) log10 ((double) x);