md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
[gnulib.git] / lib / logf.c
index 684e9f3..ffa2f08 100644 (file)
@@ -1,5 +1,5 @@
 /* Natural logarithmic function.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 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
 
 float
 logf (float x)
+#undef logf
 {
+#if HAVE_LOGF
+  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);
+#endif
 }