summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-08-04 04:17:08 +0000
committerRichard M. Stallman <rms@gnu.org>1993-08-04 04:17:08 +0000
commitaa29f9b923fce98355de5db3d41316d2992962eb (patch)
treed375c50d930286ea8c239a267df717e94ef815e9 /src/data.c
parent2adf4f6165a904bd5a3306ee129a258bd3050450 (diff)
downloademacs-aa29f9b923fce98355de5db3d41316d2992962eb.tar.gz
(Frem): Don't accept floats, just ints and markers.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c27
1 files changed, 1 insertions, 26 deletions
diff --git a/src/data.c b/src/data.c
index 9c1413bdae2..a829e7d80ba 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1736,39 +1736,14 @@ The arguments must be numbers or markers.")
DEFUN ("%", Frem, Srem, 2, 2, 0,
"Returns remainder of first arg divided by second.\n\
-Both must be numbers or markers.")
+Both must be integers or markers.")
(num1, num2)
register Lisp_Object num1, num2;
{
Lisp_Object val;
-#ifdef LISP_FLOAT_TYPE
- CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num1, 0);
- CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num2, 0);
-
- if (XTYPE (num1) == Lisp_Float || XTYPE (num2) == Lisp_Float)
- {
- double f1, f2;
-
- f1 = XTYPE (num1) == Lisp_Float ? XFLOAT (num1)->data : XINT (num1);
- f2 = XTYPE (num2) == Lisp_Float ? XFLOAT (num2)->data : XINT (num2);
- if (f2 == 0)
- Fsignal (Qarith_error, Qnil);
-
-#if defined (USG) || defined (sun) || defined (ultrix) || defined (hpux)
- f1 = fmod (f1, f2);
-#else
- f1 = drem (f1, f2);
-#endif
- /* If the "remainder" comes out with the wrong sign, fix it. */
- if ((f1 < 0) != (f2 < 0))
- f1 += f2;
- return (make_float (f1));
- }
-#else /* not LISP_FLOAT_TYPE */
CHECK_NUMBER_COERCE_MARKER (num1, 0);
CHECK_NUMBER_COERCE_MARKER (num2, 1);
-#endif /* not LISP_FLOAT_TYPE */
if (XFASTINT (num2) == 0)
Fsignal (Qarith_error, Qnil);