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@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