diff options
author | Paul Eggert <eggert@twinsun.com> | 1993-08-10 04:14:17 +0000 |
---|---|---|
committer | Paul Eggert <eggert@twinsun.com> | 1993-08-10 04:14:17 +0000 |
commit | ebe6b8146098faa60cc7731f54c0eba2611d7ff8 (patch) | |
tree | 09ac97e56d241cd1e077d868e722ecca82ff718a /lisp/emacs-lisp | |
parent | 2ec5af1103139ca401e649266ff6b11e65580b1c (diff) | |
download | emacs-ebe6b8146098faa60cc7731f54c0eba2611d7ff8.tar.gz emacs-ebe6b8146098faa60cc7731f54c0eba2611d7ff8.tar.bz2 emacs-ebe6b8146098faa60cc7731f54c0eba2611d7ff8.zip |
(floor*): Use `floor' instead of doing most the work ourselves.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/cl-extra.el | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 5b1fcc49b3d..abd980a6020 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -387,19 +387,8 @@ If so, return the true (non-nil) value returned by PREDICATE." (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. |