Mercurial > emacs
comparison src/floatfns.c @ 4501:9352d7d021c2
* config.h.in (HAVE_LOGB, HAVE_FREXP): Add #undefs for the
configuration script to edit.
* floatfns.c (Flogb): Use HAVE_LOGB and HAVE_FREXP, instead of
assuming that all USG systems have FREXP.
| author | Jim Blandy <jimb@redhat.com> |
|---|---|
| date | Mon, 09 Aug 1993 06:04:14 +0000 |
| parents | 8ab0a7453577 |
| children | 6131dad14f6f |
comparison
equal
deleted
inserted
replaced
| 4500:56d7c4beae9f | 4501:9352d7d021c2 |
|---|---|
| 633 { | 633 { |
| 634 Lisp_Object val; | 634 Lisp_Object val; |
| 635 int value; | 635 int value; |
| 636 double f = extract_float (arg); | 636 double f = extract_float (arg); |
| 637 | 637 |
| 638 #ifdef USG | 638 #ifdef HAVE_LOGB |
| 639 IN_FLOAT (value = logb (f), "logb", arg); | |
| 640 XSET (val, Lisp_Int, value); | |
| 641 #else | |
| 642 #ifdef HAVE_FREXP | |
| 639 { | 643 { |
| 640 int exp; | 644 int exp; |
| 641 | 645 |
| 642 IN_FLOAT (frexp (f, &exp), "logb", arg); | 646 IN_FLOAT (frexp (f, &exp), "logb", arg); |
| 643 XSET (val, Lisp_Int, exp-1); | 647 XSET (val, Lisp_Int, exp-1); |
| 644 } | 648 } |
| 645 #else | 649 #else |
| 646 IN_FLOAT (value = logb (f), "logb", arg); | 650 Well, what *do* you have? |
| 647 XSET (val, Lisp_Int, value); | 651 #endif |
| 648 #endif | 652 #endif |
| 649 | 653 |
| 650 return val; | 654 return val; |
| 651 } | 655 } |
| 652 | 656 |
