Mercurial > emacs
comparison src/floatfns.c @ 5595:63bc8a14a073
(Fffloor, Ffceil, Ffround, Fftruncate): New functions.
(syms_of_floatfns): Turn them on.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Sat, 15 Jan 1994 13:28:24 +0000 |
| parents | 87f9165f5b14 |
| children | 9fd25ec7204b |
comparison
equal
deleted
inserted
replaced
| 5594:f97415a8cf41 | 5595:63bc8a14a073 |
|---|---|
| 778 XSET (arg, Lisp_Int, (int) XFLOAT (arg)->data); | 778 XSET (arg, Lisp_Int, (int) XFLOAT (arg)->data); |
| 779 | 779 |
| 780 return arg; | 780 return arg; |
| 781 } | 781 } |
| 782 | 782 |
| 783 #if 0 | |
| 784 /* It's not clear these are worth adding. */ | 783 /* It's not clear these are worth adding. */ |
| 785 | 784 |
| 786 DEFUN ("fceiling", Ffceiling, Sfceiling, 1, 1, 0, | 785 DEFUN ("fceiling", Ffceiling, Sfceiling, 1, 1, 0, |
| 787 "Return the smallest integer no less than ARG, as a float.\n\ | 786 "Return the smallest integer no less than ARG, as a float.\n\ |
| 788 \(Round toward +inf.\)") | 787 \(Round toward +inf.\)") |
| 809 "Return the nearest integer to ARG, as a float.") | 808 "Return the nearest integer to ARG, as a float.") |
| 810 (arg) | 809 (arg) |
| 811 register Lisp_Object arg; | 810 register Lisp_Object arg; |
| 812 { | 811 { |
| 813 double d = extract_float (arg); | 812 double d = extract_float (arg); |
| 814 IN_FLOAT (d = rint (XFLOAT (arg)->data), "fround", arg); | 813 IN_FLOAT (d = rint (d), "fround", arg); |
| 815 return make_float (d); | 814 return make_float (d); |
| 816 } | 815 } |
| 817 | 816 |
| 818 DEFUN ("ftruncate", Fftruncate, Sftruncate, 1, 1, 0, | 817 DEFUN ("ftruncate", Fftruncate, Sftruncate, 1, 1, 0, |
| 819 "Truncate a floating point number to an integral float value.\n\ | 818 "Truncate a floating point number to an integral float value.\n\ |
| 826 IN_FLOAT (d = floor (d), "ftruncate", arg); | 825 IN_FLOAT (d = floor (d), "ftruncate", arg); |
| 827 else | 826 else |
| 828 IN_FLOAT (d = ceil (d), "ftruncate", arg); | 827 IN_FLOAT (d = ceil (d), "ftruncate", arg); |
| 829 return make_float (d); | 828 return make_float (d); |
| 830 } | 829 } |
| 831 #endif | |
| 832 | 830 |
| 833 #ifdef FLOAT_CATCH_SIGILL | 831 #ifdef FLOAT_CATCH_SIGILL |
| 834 static SIGTYPE | 832 static SIGTYPE |
| 835 float_error (signo) | 833 float_error (signo) |
| 836 int signo; | 834 int signo; |
| 928 defsubr (&Sbessel_jn); | 926 defsubr (&Sbessel_jn); |
| 929 defsubr (&Serf); | 927 defsubr (&Serf); |
| 930 defsubr (&Serfc); | 928 defsubr (&Serfc); |
| 931 defsubr (&Slog_gamma); | 929 defsubr (&Slog_gamma); |
| 932 defsubr (&Scube_root); | 930 defsubr (&Scube_root); |
| 931 #endif | |
| 933 defsubr (&Sfceiling); | 932 defsubr (&Sfceiling); |
| 934 defsubr (&Sffloor); | 933 defsubr (&Sffloor); |
| 935 defsubr (&Sfround); | 934 defsubr (&Sfround); |
| 936 defsubr (&Sftruncate); | 935 defsubr (&Sftruncate); |
| 937 #endif | |
| 938 defsubr (&Sexp); | 936 defsubr (&Sexp); |
| 939 defsubr (&Sexpt); | 937 defsubr (&Sexpt); |
| 940 defsubr (&Slog); | 938 defsubr (&Slog); |
| 941 defsubr (&Slog10); | 939 defsubr (&Slog10); |
| 942 defsubr (&Ssqrt); | 940 defsubr (&Ssqrt); |
