# Module `Stdlib.Complex`

`type t`

`=`

`{`

`re : float;`

`im : 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`

.

`val sqrt : t -> t`

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`

.