Complex.st
changeset 21933 56fbff93ec73
parent 21932 c033a3755e36
child 21947 40e2852e1422
equal deleted inserted replaced
21932:c033a3755e36 21933:56fbff93ec73
   117     (Number i raisedTo:1) -> Number i
   117     (Number i raisedTo:1) -> Number i
   118     (Number i raisedTo:2) -> -1
   118     (Number i raisedTo:2) -> -1
   119     (Number i raisedTo:3) -> Number i negated
   119     (Number i raisedTo:3) -> Number i negated
   120     (Number i raisedTo:4) -> 1
   120     (Number i raisedTo:4) -> 1
   121     (Number i raisedTo:6) -> -1
   121     (Number i raisedTo:6) -> -1
   122     
   122 
       
   123     3 raisedTo:Number i
       
   124     3 i raisedTo:Number i
       
   125 
   123     5i * 5i     -> -25
   126     5i * 5i     -> -25
   124     5i squared  -> -25 
   127     5i squared  -> -25 
   125 "
   128 "
   126 ! !
   129 ! !
   127 
   130 
   696     "Return the quotient of the argument, anInteger and the receiver."
   699     "Return the quotient of the argument, anInteger and the receiver."
   697 
   700 
   698     ^ anInteger asComplex / self
   701     ^ anInteger asComplex / self
   699 !
   702 !
   700 
   703 
       
   704 raisedFromNumber:aNumber
       
   705     "see http://www.math.toronto.edu/mathnet/questionCorner/complexexp.html"
       
   706 
       
   707     "/ a ^ (b+i*c) = a^b * ( cos(c*ln(a)) + i*sin(c*ln(a)) )
       
   708 
       
   709     |cLNa a_b|
       
   710 
       
   711     cLNa := imaginary * aNumber ln.
       
   712     a_b := aNumber raisedTo:real.
       
   713     
       
   714     ^ Complex
       
   715         real:(a_b * cLNa cos)
       
   716         imaginary:(a_b * cLNa sin)
       
   717 
       
   718     "Created: / 01-07-2017 / 20:33:47 / cg"
       
   719 !
       
   720 
   701 sumFromComplex:aComplex
   721 sumFromComplex:aComplex
   702     "Return the sum of the receiver and the argument, aComplex."
   722     "Return the sum of the receiver and the argument, aComplex."
   703 
   723 
   704     | r i |
   724     | r i |
   705 
   725