[cmucl-cvs] [git] CMU Common Lisp branch master updated. snapshot-2013-01-19-g719e87b

Raymond Toy rtoy at common-lisp.net
Fri Jan 25 04:55:54 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  719e87b7d103d3201c031412de576653a42daff7 (commit)
      from  b2ee65dabba1742203e28f538eeee59da126093c (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 719e87b7d103d3201c031412de576653a42daff7
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Thu Jan 24 20:55:45 2013 -0800

    Fix ticket:65 some more.
    Apply the expt transform in more places.  The test script in the
    ticket now passes.

diff --git a/src/code/irrat.lisp b/src/code/irrat.lisp
index f04b154..67ca060 100644
--- a/src/code/irrat.lisp
+++ b/src/code/irrat.lisp
@@ -517,24 +517,30 @@
 	 (intexp base power))
 	(((foreach single-float double-float)
-	 (real-expt base power '(dispatch-type base)))
+	 (or (expt-xfrm base power)
+	     (real-expt base power '(dispatch-type base))))
 	(((foreach fixnum (or bignum ratio) single-float)
 	  (foreach ratio single-float))
-	 (real-expt base power 'single-float))
+	 (or (expt-xfrm (coerce base 'single-float) power)
+	     (real-expt base power 'single-float)))
 	(((foreach fixnum (or bignum ratio) single-float double-float)
-	 (real-expt base power 'double-float))
+	 (or (expt-xfrm (coerce base 'double-float) power)
+	     (real-expt base power 'double-float)))
 	((double-float single-float)
-	 (real-expt base power 'double-float))
+	 (or (expt-xfrm (coerce base 'double-float) power)
+	     (real-expt base power 'double-float)))
 	(((foreach fixnum (or bignum ratio) single-float double-float
-	 (dd-%pow (coerce base 'double-double-float) power))
+	 (or (expt-xfrm (coerce base 'double-double-float) power)
+	     (dd-%pow (coerce base 'double-double-float) power)))
 	  (foreach fixnum (or bignum ratio) single-float double-float))
-	 (dd-%pow base (coerce power 'double-double-float)))
+	 (or (expt-xfrm base power)
+	     (dd-%pow base (coerce power 'double-double-float))))
 	(((foreach (complex rational) (complex single-float) (complex double-float)
 		   #+double-double (complex double-double-float))


Summary of changes:
 src/code/irrat.lisp |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

CMU Common Lisp

More information about the cmucl-cvs mailing list