/* Primitive operations on floating point for GNU Emacs Lisp interpreter.
- Copyright (C) 1988, 1992 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1993 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include <math.h>
+#ifndef hpux
/* These declarations are omitted on some systems, like Ultrix. */
extern double logb ();
+#endif
#if defined(DOMAIN) && defined(SING) && defined(OVERFLOW)
/* If those are defined, then this is probably a `matherr' machine. */
# endif
#endif
+#ifdef NO_MATHERR
+#undef HAVE_MATHERR
+#endif
+
#ifdef HAVE_MATHERR
# ifdef FLOAT_CHECK_ERRNO
# undef FLOAT_CHECK_ERRNO
} \
} while (0)
#else
+#define IN_FLOAT(d, name, num) (in_float = 1, (d), in_float = 0)
#define IN_FLOAT2(d, name, num, num2) (in_float = 1, (d), in_float = 0)
#endif
if (b == 10.0)
IN_FLOAT2 (d = log10 (d), "log", arg, base);
else
- IN_FLOAT2 (d = log (arg) / log (b), "log", arg, base);
+ IN_FLOAT2 (d = log (d) / log (b), "log", arg, base);
}
return make_float (d);
}