• complex.rb

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