`Stdlib.Complex`

Complex numbers.

This module provides arithmetic operations on complex numbers. Complex numbers are represented by their real and imaginary parts (cartesian representation). Each part is represented by a double-precision floating-point number (type `float`

).

The type of complex numbers. `re`

is the real part and `im`

the imaginary part.

`val zero : t`

The complex number `0`

.

`val one : t`

The complex number `1`

.

`val i : t`

The complex number `i`

.

Square root. The result `x + i.y`

is such that `x > 0`

or `x = 0`

and `y >= 0`

. This function has a discontinuity along the negative real axis.

`val norm2 : t -> float`

Norm squared: given `x + i.y`

, returns `x^2 + y^2`

.

`val norm : t -> float`

Norm: given `x + i.y`

, returns `sqrt(x^2 + y^2)`

.

`val arg : t -> float`

Argument. The argument of a complex number is the angle in the complex plane between the positive real axis and a line passing through zero and the number. This angle ranges from `-pi`

to `pi`

. This function has a discontinuity along the negative real axis.

`val polar : float -> float -> t`

`polar norm arg`

returns the complex having norm `norm`

and argument `arg`

.