summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/config.in2
-rw-r--r--src/floatfns.c10
2 files changed, 9 insertions, 3 deletions
diff --git a/src/config.in b/src/config.in
index dafb759749a..78635b080fb 100644
--- a/src/config.in
+++ b/src/config.in
@@ -117,6 +117,8 @@ and this notice must be preserved on all copies. */
#undef HAVE_RMDIR
#undef HAVE_RANDOM
#undef HAVE_BCOPY
+#undef HAVE_LOGB
+#undef HAVE_FREXP
#undef HAVE_AIX_SMT_EXP
diff --git a/src/floatfns.c b/src/floatfns.c
index 90a2186d3f6..8f0515a84b5 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -635,7 +635,11 @@ This is the same as the exponent of a float.")
int value;
double f = extract_float (arg);
-#ifdef USG
+#ifdef HAVE_LOGB
+ IN_FLOAT (value = logb (f), "logb", arg);
+ XSET (val, Lisp_Int, value);
+#else
+#ifdef HAVE_FREXP
{
int exp;
@@ -643,8 +647,8 @@ This is the same as the exponent of a float.")
XSET (val, Lisp_Int, exp-1);
}
#else
- IN_FLOAT (value = logb (f), "logb", arg);
- XSET (val, Lisp_Int, value);
+ Well, what *do* you have?
+#endif
#endif
return val;