From fcf67fa43e831b62943776bb109fa0d20f8e486b Mon Sep 17 00:00:00 2001 From: dtc <dtc> Date: Wed, 17 Dec 1997 19:09:07 +0000 Subject: [PATCH] Fix the (expt x 0) transform to return 1 in the correct type; suggested by Raymond Toy. --- compiler/srctran.lisp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/srctran.lisp b/compiler/srctran.lisp index 93470a953..0e665de6a 100644 --- a/compiler/srctran.lisp +++ b/compiler/srctran.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.64 1997/12/14 14:10:24 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.65 1997/12/17 19:09:07 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -2518,7 +2518,7 @@ ;; multiplication and division for small integral powers. (unless (not-more-contagious y x) (give-up)) - (cond ((zerop val) 1) ; X should be coerced to the correct type. + (cond ((zerop val) '(float 1 x)) ((= val 2) '(* x x)) ((= val -2) '(/ (* x x))) ((= val 3) '(* x x x)) -- GitLab