Extended maintenance of Ruby versions 1.8.7 and 1.9.2 will end on July 31, 2014. Read more

In Files

  • complex.rb

Class/Module Index [+]

Quicksearch

Math

Public Class Methods

acos(z) click to toggle source
 
               # File complex.rb, line 562
def acos(z)
  if Complex.generic?(z) and z >= -1 and z <= 1
    acos!(z)
  else
    -1.0.im * log( z + 1.0.im * sqrt(1.0-z*z) )
  end
end
            
Also aliased as: acos!
acos!(z) click to toggle source
Alias for: acos
acosh(z) click to toggle source
 
               # File complex.rb, line 594
def acosh(z)
  if Complex.generic?(z) and z >= 1
    acosh!(z)
  else
    log( z + sqrt(z*z-1.0) )
  end
end
            
Also aliased as: acosh!
acosh!(z) click to toggle source
Alias for: acosh
asin(z) click to toggle source
 
               # File complex.rb, line 570
def asin(z)
  if Complex.generic?(z) and z >= -1 and z <= 1
    asin!(z)
  else
    -1.0.im * log( 1.0.im * z + sqrt(1.0-z*z) )
  end
end
            
Also aliased as: asin!
asin!(z) click to toggle source
Alias for: asin
asinh(z) click to toggle source
 
               # File complex.rb, line 602
def asinh(z)
  if Complex.generic?(z)
    asinh!(z)
  else
    log( z + sqrt(1.0+z*z) )
  end
end
            
Also aliased as: asinh!
asinh!(z) click to toggle source
Alias for: asinh
atan(z) click to toggle source
 
               # File complex.rb, line 578
def atan(z)
  if Complex.generic?(z)
    atan!(z)
  else
    1.0.im * log( (1.0.im+z) / (1.0.im-z) ) / 2.0
  end
end
            
Also aliased as: atan!
atan!(z) click to toggle source
Alias for: atan
atan2(y,x) click to toggle source
 
               # File complex.rb, line 586
def atan2(y,x)
  if Complex.generic?(y) and Complex.generic?(x)
    atan2!(y,x)
  else
    -1.0.im * log( (x+1.0.im*y) / sqrt(x*x+y*y) )
  end
end
            
Also aliased as: atan2!
atan2!(y,x) click to toggle source
Alias for: atan2
atanh(z) click to toggle source
 
               # File complex.rb, line 610
def atanh(z)
  if Complex.generic?(z) and z >= -1 and z <= 1
    atanh!(z)
  else
    log( (1.0+z) / (1.0-z) ) / 2.0
  end
end
            
Also aliased as: atanh!
atanh!(z) click to toggle source
Alias for: atanh
cos(z) click to toggle source

Redefined to handle a Complex argument.

 
               # File complex.rb, line 491
def cos(z)
  if Complex.generic?(z)
    cos!(z)
  else
    Complex(cos!(z.real)*cosh!(z.image),
            -sin!(z.real)*sinh!(z.image))
  end
end
            
Also aliased as: cos!
cos!(z) click to toggle source
Alias for: cos
cosh(z) click to toggle source
 
               # File complex.rb, line 527
def cosh(z)
  if Complex.generic?(z)
    cosh!(z)
  else
    Complex( cosh!(z.real)*cos!(z.image), sinh!(z.real)*sin!(z.image) )
  end
end
            
Also aliased as: cosh!
cosh!(z) click to toggle source
Alias for: cosh
exp(z) click to toggle source

Redefined to handle a Complex argument.

 
               # File complex.rb, line 482
def exp(z)
  if Complex.generic?(z)
    exp!(z)
  else
    Complex(exp!(z.real) * cos!(z.image), exp!(z.real) * sin!(z.image))
  end
end
            
Also aliased as: exp!
exp!(z) click to toggle source
Alias for: exp
log(z) click to toggle source

Redefined to handle a Complex argument.

 
               # File complex.rb, line 544
def log(z)
  if Complex.generic?(z) and z >= 0
    log!(z)
  else
    r, theta = z.polar
    Complex(log!(r.abs), theta)
  end
end
            
Also aliased as: log!
log!(z) click to toggle source
Alias for: log
log10(z) click to toggle source

Redefined to handle a Complex argument.

 
               # File complex.rb, line 554
def log10(z)
  if Complex.generic?(z)
    log10!(z)
  else
    log(z)/log!(10)
  end
end
            
Also aliased as: log10!
log10!(z) click to toggle source
Alias for: log10
sin(z) click to toggle source

Redefined to handle a Complex argument.

 
               # File complex.rb, line 501
def sin(z)
  if Complex.generic?(z)
    sin!(z)
  else
    Complex(sin!(z.real)*cosh!(z.image),
            cos!(z.real)*sinh!(z.image))
  end
end
            
Also aliased as: sin!
sin!(z) click to toggle source
Alias for: sin
sinh(z) click to toggle source
 
               # File complex.rb, line 519
def sinh(z)
  if Complex.generic?(z)
    sinh!(z)
  else
    Complex( sinh!(z.real)*cos!(z.image), cosh!(z.real)*sin!(z.image) )
  end
end
            
Also aliased as: sinh!
sinh!(z) click to toggle source
Alias for: sinh
sqrt(z) click to toggle source

Redefined to handle a Complex argument.

 
               # File complex.rb, line 463
def sqrt(z)
  if Complex.generic?(z)
    if z >= 0
      sqrt!(z)
    else
      Complex(0,sqrt!(-z))
    end
  else
    if z.image < 0
      sqrt(z.conjugate).conjugate
    else
      r = z.abs
      x = z.real
      Complex( sqrt!((r+x)/2), sqrt!((r-x)/2) )
    end
  end
end
            
Also aliased as: sqrt!
sqrt!(z) click to toggle source
Alias for: sqrt
tan(z) click to toggle source

Redefined to handle a Complex argument.

 
               # File complex.rb, line 511
def tan(z)
  if Complex.generic?(z)
    tan!(z)
  else
    sin(z)/cos(z)
  end
end
            
Also aliased as: tan!
tan!(z) click to toggle source
Alias for: tan
tanh(z) click to toggle source
 
               # File complex.rb, line 535
def tanh(z)
  if Complex.generic?(z)
    tanh!(z)
  else
    sinh(z)/cosh(z)
  end
end
            
Also aliased as: tanh!
tanh!(z) click to toggle source
Alias for: tanh

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus