[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