In Files

  • complex.rb

Class/Module Index [+]

Quicksearch

Math

Public Class Methods

acos(z) click to toggle source
 
               # File complex.rb, line 536
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 568
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 544
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 576
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 552
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 560
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 584
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 465
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 501
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 456
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 518
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 528
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 475
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 493
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 437
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 485
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 509
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