• 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

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.