Mercurial > emacs
diff src/floatfns.c @ 2119:4077ef8ad483
* floatfns.c (Flogb): Undo the change of Feb 22.
| author | Jim Blandy <jimb@redhat.com> |
|---|---|
| date | Thu, 11 Mar 1993 07:13:24 +0000 |
| parents | c77607f8e32d |
| children | 28d83027277f |
line wrap: on
line diff
--- a/src/floatfns.c Thu Mar 11 07:13:06 1993 +0000 +++ b/src/floatfns.c Thu Mar 11 07:13:24 1993 +0000 @@ -615,15 +615,21 @@ } DEFUN ("logb", Flogb, Slogb, 1, 1, 0, - "Returns the integer that is the base 2 log of ARG.\n\ + "Returns the integer not greater than the base 2 log of the magnitude of ARG.\n\ This is the same as the exponent of a float.") (arg) Lisp_Object arg; { - /* System V apparently doesn't have a `logb' function. It might be - better to use it on systems that have it, but Ultrix (at least) - doesn't declare it properly in <math.h>; does anyone really care? */ - return Flog (arg, make_number (2)); +#ifdef USG + error ("SYSV apparently doesn't have a logb function; what to do?"); +#else + Lisp_Object val; + double f = extract_float (num); + + IN_FLOAT (val = logb (f), num); + XSET (val, Lisp_Int, val); + return val; +#endif } /* the rounding functions */
