changeset 4517:45e3868140f1

(floor*): Use `floor' instead of doing most the work ourselves.
author Paul Eggert <eggert@twinsun.com>
date Tue, 10 Aug 1993 04:14:17 +0000
parents 95b9760d19e3
children 9081f7a8fa6d
files lisp/emacs-lisp/cl-extra.el
diffstat 1 files changed, 2 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/cl-extra.el	Tue Aug 10 04:14:17 1993 +0000
+++ b/lisp/emacs-lisp/cl-extra.el	Tue Aug 10 04:14:17 1993 +0000
@@ -387,19 +387,8 @@
 (defun floor* (x &optional y)
   "Return a list of the floor of X and the fractional part of X.
 With two arguments, return floor and remainder of their quotient."
-  (if y
-      (if (and (integerp x) (integerp y))
-	  (if (and (>= x 0) (>= y 0))
-	      (list (/ x y) (% x y))
-	    (let ((q (cond ((>= x 0) (- (/ (- x y 1) (- y))))
-			   ((>= y 0) (- (/ (- y x 1) y)))
-			   (t (/ (- x) (- y))))))
-	      (list q (- x (* q y)))))
-	(let ((q (floor (/ x y))))
-	  (list q (- x (* q y)))))
-    (if (integerp x) (list x 0)
-      (let ((q (floor x)))
-	(list q (- x q))))))
+  (let ((q (floor x y)))
+    (list q (- x (if y (* y q) q)))))
 
 (defun ceiling* (x &optional y)
   "Return a list of the ceiling of X and the fractional part of X.