[git] CMU Common Lisp branch master updated. snapshot-2014-06-24-g2ade088

Raymond Toy rtoy at common-lisp.net
Sat Jul 26 16:00:44 UTC 2014


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  2ade088e991102f642e20a3d20239bf8b2b52633 (commit)
      from  06ca7d326f688d40ad8730bbd2faa8ca7813d2f0 (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 2ade088e991102f642e20a3d20239bf8b2b52633
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Sat Jul 26 09:00:35 2014 -0700

    Some cleanup of the trig code.
    
     * code/exports.lisp:
       * Export %ieee754-rem-pi/2 and %sincos.
     * code/irrat.lisp:
       * Remove some conditionalization that is always true now.
     * compiler/float-tran.lisp:
       * %sincos is exported so we don't need the package qualifier.

diff --git a/src/code/exports.lisp b/src/code/exports.lisp
index ca0a60b..5c8168d 100644
--- a/src/code/exports.lisp
+++ b/src/code/exports.lisp
@@ -2342,7 +2342,10 @@
 	   "%COMPLEX-DOUBLE-FLOAT"
 	   "%COMPLEX-DOUBLE-DOUBLE-FLOAT"
 	   "STANDARD-READTABLE-MODIFIED-ERROR"
-	   "STANDARD-PPRINT-DISPATCH-TABLE-MODIFIED-ERROR")
+	   "STANDARD-PPRINT-DISPATCH-TABLE-MODIFIED-ERROR"
+
+	   "%IEEE754-REM-PI/2"
+	   "%SINCOS")
   #+heap-overflow-check
   (:export "DYNAMIC-SPACE-OVERFLOW-WARNING-HIT"
 	   "DYNAMIC-SPACE-OVERFLOW-ERROR-HIT"
diff --git a/src/code/irrat.lisp b/src/code/irrat.lisp
index 032a6ac..c48d09d 100644
--- a/src/code/irrat.lisp
+++ b/src/code/irrat.lisp
@@ -64,19 +64,11 @@
 ;;; Please refer to the Unix man pages for details about these routines.
 
 ;;; Trigonometric.
-#-(and x86 (not sse2))
-(progn
-  ;; For x86 (without sse2), we can use x87 instructions to implement
-  ;; these.  With sse2, we don't currently support that, so these
-  ;; should be disabled.
-;;  (def-math-rtn "sin" 1)
-;;  (def-math-rtn "cos" 1)
-  ;;  (def-math-rtn "tan" 1)
-  (def-math-rtn ("fdlibm_sin" %sin) 1)
-  (def-math-rtn ("fdlibm_cos" %cos) 1)
-  (def-math-rtn ("fdlibm_tan" %tan) 1)
-  (def-math-rtn "atan" 1)
-  (def-math-rtn "atan2" 2))
+(def-math-rtn ("fdlibm_sin" %sin) 1)
+(def-math-rtn ("fdlibm_cos" %cos) 1)
+(def-math-rtn ("fdlibm_tan" %tan) 1)
+(def-math-rtn "atan" 1)
+(def-math-rtn "atan2" 2)
 (def-math-rtn "asin" 1)
 (def-math-rtn "acos" 1)
 (def-math-rtn "sinh" 1)
@@ -87,19 +79,15 @@
 (def-math-rtn "atanh" 1)
 
 ;;; Exponential and Logarithmic.
-#-(and x86 (not sse2))
-(progn
-  (def-math-rtn "exp" 1)
-  (def-math-rtn "log" 1)
-  (def-math-rtn "log10" 1))
+(def-math-rtn "exp" 1)
+(def-math-rtn "log" 1)
+(def-math-rtn "log10" 1)
 
 (def-math-rtn "pow" 2)
 #-(or x86 sparc-v7 sparc-v8 sparc-v9)
 (def-math-rtn "sqrt" 1)
 (def-math-rtn "hypot" 2)
 
-;; Don't want log1p to use the x87 instruction.
-#-(or hpux (and x86 (not sse2)))
 (def-math-rtn "log1p" 1)
 
 ;; These are needed for use by byte-compiled files.  But don't use
@@ -199,6 +187,7 @@
 ;; easier for the user, and we don't have to wrap calls with
 ;; without-gcing.
 (declaim (inline %ieee754-rem-pi/2))
+(export '%ieee754-rem-pi/2)
 (alien:def-alien-routine ("ieee754_rem_pio2" %ieee754-rem-pi/2) c-call:int
   (x double-float)
   (y0 double-float :out)
@@ -211,6 +200,7 @@
   (c double-float :out))
 
 (declaim (inline %sincos))
+(export '%sincos)
 (defun %sincos (x)
   (declare (double-float x))
   (multiple-value-bind (ign s c)
diff --git a/src/compiler/float-tran.lisp b/src/compiler/float-tran.lisp
index 41e0d42..7da6b95 100644
--- a/src/compiler/float-tran.lisp
+++ b/src/compiler/float-tran.lisp
@@ -734,19 +734,19 @@
     (deftransform name ((x) '(double-float) rtype :eval-name t :when :both)
       `(,prim x))))
 
-(defknown (kernel::%sincos)
+(defknown (%sincos)
     (double-float) (values double-float double-float)
     (movable foldable flushable))
 
 (deftransform cis ((x) (single-float) * :when :both)
   `(multiple-value-bind (s c)
-       (kernel::%sincos (coerce x 'double-float))
+       (%sincos (coerce x 'double-float))
      (complex (coerce c 'single-float)
 	      (coerce s 'single-float))))
 
 (deftransform cis ((x) (double-float) * :when :both)
   `(multiple-value-bind (s c)
-       (kernel::%sincos x)
+       (%sincos x)
      (complex c s)))
 
 #+double-double

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

Summary of changes:
 src/code/exports.lisp        |    5 ++++-
 src/code/irrat.lisp          |   30 ++++++++++--------------------
 src/compiler/float-tran.lisp |    6 +++---
 3 files changed, 17 insertions(+), 24 deletions(-)


hooks/post-receive
-- 
CMU Common Lisp



More information about the cmucl-cvs mailing list