Update of /project/oct/cvsroot/oct In directory clnet:/tmp/cvs-serv4233
Modified Files: qd-dd.lisp Log Message: Some updates from Richard Fateman to make these routines run faster in Allegro.
--- /project/oct/cvsroot/oct/qd-dd.lisp 2007/09/13 01:06:02 1.5 +++ /project/oct/cvsroot/oct/qd-dd.lisp 2007/09/13 16:45:42 1.6 @@ -35,7 +35,7 @@ (defun quick-two-sum (a b) "Computes fl(a+b) and err(a+b), assuming |a| >= |b|" (declare (double-float a b) - (optimize (speed 3) (safety 0))) + (optimize (speed 3) (safety 0) (debug 0))) (let* ((s (+ a b)) (e (- b (- s a)))) (declare (double-float s e)) @@ -45,7 +45,7 @@ (defun two-sum (a b) "Computes fl(a+b) and err(a+b)" (declare (double-float a b) - (optimize (speed 3) (safety 0))) + (optimize (speed 3) (safety 0) (debug 0))) (let* ((s (+ a b)) (v (- s a)) (e (+ (- a (- s v)) @@ -120,7 +120,7 @@ (defun two-prod (a b) "Compute fl(a*b) and err(a*b)" (declare (double-float a b) - (optimize (speed 3) (safety 0))) + (optimize (speed 3) (safety 0) (debug 0))) (let ((p (* a b))) (declare (double-float p)) (multiple-value-bind (a-hi a-lo) @@ -141,7 +141,7 @@ "Compute fl(a*a) and err(a*b). This is a more efficient implementation of two-prod" (declare (double-float a) - (optimize (speed 3) (safety 0))) + (optimize (speed 3) (safety 0) (debug 0))) (let ((q (* a a))) (declare (double-float q)) (multiple-value-bind (a-hi a-lo)