diff --git a/compiler/float-tran.lisp b/compiler/float-tran.lisp index 0247f75393e13c9b5112cee5fbbe436cff3b3139..1824fae6b2876602a7c89e7dd82dba374aaec7cd 100644 --- a/compiler/float-tran.lisp +++ b/compiler/float-tran.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/float-tran.lisp,v 1.45 1997/12/06 18:47:34 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/float-tran.lisp,v 1.46 1997/12/06 20:12:21 pw Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1258,6 +1258,12 @@ (frob single-float) (frob double-float)) +(macrolet ((frob (type) + `(deftransform cis ((z) ((,type)) *) + '(complex (cos z) (sin z))))) + (frob single-float) + (frob double-float)) + ;;; Here are simple optimizers for sin, cos, and tan. They do not ;;; produce a minimal range for the result; the result is the widest ;;; possible answer. This gets around the problem of doing range