# HG changeset patch # User Claus Gittinger # Date 1498937750 -7200 # Node ID 56fbff93ec732b14688d7469ebbb04bb944b7185 # Parent c033a3755e36fdbfd0dc5ce1f3e23eacd654d448 #FEATURE by cg class: Complex added: #raisedFromNumber: class: Complex class comment/format in: #examples diff -r c033a3755e36 -r 56fbff93ec73 Complex.st --- a/Complex.st Sat Jul 01 20:17:49 2017 +0200 +++ b/Complex.st Sat Jul 01 21:35:50 2017 +0200 @@ -119,7 +119,10 @@ (Number i raisedTo:3) -> Number i negated (Number i raisedTo:4) -> 1 (Number i raisedTo:6) -> -1 - + + 3 raisedTo:Number i + 3 i raisedTo:Number i + 5i * 5i -> -25 5i squared -> -25 " @@ -698,6 +701,23 @@ ^ anInteger asComplex / self ! +raisedFromNumber:aNumber + "see http://www.math.toronto.edu/mathnet/questionCorner/complexexp.html" + + "/ a ^ (b+i*c) = a^b * ( cos(c*ln(a)) + i*sin(c*ln(a)) ) + + |cLNa a_b| + + cLNa := imaginary * aNumber ln. + a_b := aNumber raisedTo:real. + + ^ Complex + real:(a_b * cLNa cos) + imaginary:(a_b * cLNa sin) + + "Created: / 01-07-2017 / 20:33:47 / cg" +! + sumFromComplex:aComplex "Return the sum of the receiver and the argument, aComplex."