[movitz-cvs] CVS update: movitz/losp/muerte/integers.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Wed Jul 14 12:28:06 UTC 2004
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv19168
Modified Files:
integers.lisp
Log Message:
Remember to return the remainder also, when implementing truncate on
negatives in terms of truncate on positives.
Date: Wed Jul 14 05:28:06 2004
Author: ffjeld
Index: movitz/losp/muerte/integers.lisp
diff -u movitz/losp/muerte/integers.lisp:1.57 movitz/losp/muerte/integers.lisp:1.58
--- movitz/losp/muerte/integers.lisp:1.57 Wed Jul 14 05:16:28 2004
+++ movitz/losp/muerte/integers.lisp Wed Jul 14 05:28:06 2004
@@ -9,7 +9,7 @@
;;;; Created at: Wed Nov 8 18:44:57 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: integers.lisp,v 1.57 2004/07/14 12:16:28 ffjeld Exp $
+;;;; $Id: integers.lisp,v 1.58 2004/07/14 12:28:06 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -1434,11 +1434,17 @@
(setf q (+ q guess)
r (- r (* divisor guess))))))))))
(((integer * -1) (integer 0 *))
- (- (truncate (- number) divisor)))
+ (multiple-value-bind (q r)
+ (truncate (- number) divisor)
+ (values (- q) (- r))))
(((integer 0 *) (integer * -1))
- (- (truncate number (- divisor))))
+ (multiple-value-bind (q r)
+ (truncate (- number) divisor)
+ (values (- q) r)))
(((integer * -1) (integer * -1))
- (truncate (- number) (- divisor)))
+ (multiple-value-bind (q r)
+ (truncate (- number) divisor)
+ (values q (- r))))
))))
(defun / (number &rest denominators)
More information about the Movitz-cvs
mailing list