[git] CMU Common Lisp branch master updated. snapshot-2013-12-1-g2527de5

Raymond Toy rtoy at common-lisp.net
Thu Dec 12 03:37:24 UTC 2013


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 "CMU Common Lisp".

The branch, master has been updated
       via  2527de5ed52be53257a51876fe775630333cfc17 (commit)
      from  d669c129619ad3952fcabb263e307e3d48b12969 (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 2527de5ed52be53257a51876fe775630333cfc17
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Wed Dec 11 10:40:30 2013 -0800

    Make %sincos consistently return sin and cos instead of cos and sin.
    Update users accordingly.

diff --git a/src/code/irrat.lisp b/src/code/irrat.lisp
index 8e17a45..270f1dc 100644
--- a/src/code/irrat.lisp
+++ b/src/code/irrat.lisp
@@ -342,24 +342,25 @@
 	       (- c (* s y))))
 	(case (logand n 3)
 	  (0
-	   (values (cos2 s c y1)
-		   (sin2 s c y1)))
-	  (1
-	   (values (- (sin2 s c y1))
+	   (values (sin2 s c y1)
 		   (cos2 s c y1)))
-	  (2
-	   (values (- (cos2 s c y1))
+	  (1
+	   (values (cos2 s c y1)
 		   (- (sin2 s c y1))))
+	  (2
+	   (values (- (sin2 s c y1))
+		   (- (cos2 s c y1))))
 	  (3
-	   (values (sin2 s c y1)
-		   (- (cos2 s c y1)))))))))
+	   (values (- (cos2 s c y1))
+		   (sin2 s c y1))))))))
 #+sparc
 (declaim (inline %sinccos))
 #+sparc
 (defun %sincos (theta)
   (multiple-value-bind (ignore s c)
       (%%sincos theta)
-    (values c s)))
+    (declare (ignore ignore))
+    (values s c)))
 )
 
 
@@ -1025,13 +1026,13 @@
 	 (let ((arg (coerce theta 'double-float)))
 	   (multiple-value-bind (s c)
 	       (%sincos arg)
-	     (complex (coerce s 'single-float)
-		      (coerce c 'single-float)))))
+	     (complex (coerce c 'single-float)
+		      (coerce s 'single-float)))))
 	(((foreach single-float double-float))
 	 (multiple-value-bind (s c)
 	     (%sincos (coerce theta 'double-float))
-	   (complex (coerce s '(dispatch-type theta))
-		    (coerce c '(dispatch-type theta)))))
+	   (complex (coerce c '(dispatch-type theta))
+		    (coerce s '(dispatch-type theta)))))
 	#+double-double
 	((double-double-float)
 	 (complex (cos theta) (sin theta))))))
diff --git a/src/compiler/float-tran.lisp b/src/compiler/float-tran.lisp
index fba199b..a8147d9 100644
--- a/src/compiler/float-tran.lisp
+++ b/src/compiler/float-tran.lisp
@@ -740,14 +740,13 @@
 (deftransform cis ((x) (single-float) * :when :both)
   `(multiple-value-bind (s c)
        (kernel::%sincos (coerce x 'double-float))
-     (complex (coerce s 'single-float)
-	      (coerce c 'single-float))))
+     (complex (coerce c 'single-float)
+	      (coerce s 'single-float))))
 
 (deftransform cis ((x) (double-float) * :when :both)
-  `(multiple-value-bind (ignore s c)
-       (kernel::%%sincos x)
-     (declare (ignore ignore))
-     (complex s c)))
+  `(multiple-value-bind (s c)
+       (kernel::%sincos x)
+     (complex c s)))
 
 #+double-double
 (deftransform cis ((z) (double-double-float) *)

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

Summary of changes:
 src/code/irrat.lisp          |   27 ++++++++++++++-------------
 src/compiler/float-tran.lisp |   11 +++++------
 2 files changed, 19 insertions(+), 19 deletions(-)


hooks/post-receive
-- 
CMU Common Lisp



More information about the cmucl-cvs mailing list