[oct-scm] [oct-git]OCT: A portable Lisp implementation for quad-double precision floats branch master updated. 06f8a53123c7c6e204099fe81e05b66611ab9ca5

Raymond Toy rtoy at common-lisp.net
Mon Dec 5 20:48:39 UTC 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "OCT:  A portable Lisp implementation for quad-double precision floats".

The branch, master has been updated
       via  06f8a53123c7c6e204099fe81e05b66611ab9ca5 (commit)
       via  2aece6ff3951520cf025b902045a012de32b52ff (commit)
      from  612465af4decd8a0dfd4dbc199f0d48503e4b31a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 06f8a53123c7c6e204099fe81e05b66611ab9ca5
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Mon Dec 5 12:48:30 2011 -0800

    Clean up code:
    
    o Get rid of unused var in FLOAT-CONTAGION.
    o QEXPT for qd-complex first arg should be defined in
      qd-complex.lisp.

diff --git a/qd-methods.lisp b/qd-methods.lisp
index bb851c4..0eef82d 100644
--- a/qd-methods.lisp
+++ b/qd-methods.lisp
@@ -64,15 +64,12 @@
   ;; normal contagion do the work, but we could easily introduce
   ;; overflows or other errors that way.  So look at each argument and
   ;; determine the precision and choose the highest precision.  
-  (let ((complexp (some #'complexp args))
-	(max-type
-	 (etypecase (reduce #'float-contagion-2 (mapcar #'realpart (if (cdr args)
-								       args
-								       (list (car args) 0))))
-	   (single-float 'single-float)
-	   (double-float 'double-float)
-	   (qd-real 'qd-real))))
-    max-type))
+  (etypecase (reduce #'float-contagion-2 (mapcar #'realpart (if (cdr args)
+								args
+								(list (car args) 0))))
+    (single-float 'single-float)
+    (double-float 'double-float)
+    (qd-real 'qd-real)))
 
 (defun apply-contagion (number precision)
   (etypecase number
@@ -501,15 +498,6 @@ underlying floating-point format"
   (make-instance 'qd-real
 		 :value (npow (qd-value x) y)))
 
-(defmethod qexpt ((x qd-complex) (y number))
-  (exp (* y (log x))))
-
-(defmethod qexpt ((x qd-complex) (y qd-real))
-  (exp (* y (log x))))
-
-(defmethod qexpt ((x qd-complex) (y qd-complex))
-  (exp (* y (log x))))
-
 (declaim (inline expt))
 (defun expt (x y)
   (qexpt x y))

commit 2aece6ff3951520cf025b902045a012de32b52ff
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Mon Dec 5 12:47:02 2011 -0800

    Get rid of compiler warning about unused variable in theta-1 and
    theta-3.

diff --git a/qd-theta.lisp b/qd-theta.lisp
index fb41b82..8b160c1 100644
--- a/qd-theta.lisp
+++ b/qd-theta.lisp
@@ -84,6 +84,7 @@
 	 (2q^1/4 (* 2 (sqrt (sqrt q)))))
     (3by3rec s s 0
 	     #'(lambda (k matfun)
+		 (declare (ignore k))
 		 (funcall matfun
 			  (setf -2q^2ncos (* q^2 -2q^2ncos))
 			  1
@@ -111,6 +112,7 @@
 	 (cos (cos (* 2 z))))
     (3by3rec (* q cos) 1 1
 	     #'(lambda (k matfun)
+		 (declare (ignore k))
 		 (funcall matfun
 			  (* 2 (* (setf q^2k (* q^2 q^2k)) q cos))
 			  1

-----------------------------------------------------------------------

Summary of changes:
 qd-methods.lisp |   24 ++++++------------------
 qd-theta.lisp   |    2 ++
 2 files changed, 8 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
OCT:  A portable Lisp implementation for quad-double precision floats




More information about the oct-cvs mailing list