BatComplexSourceAdditional and modified functions for complex numbers.
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).
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.
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.
polar norm arg returns the complex having norm norm and argument arg.
abs c returns the module of this complex number, i.e. abs c = Float.sqrt((re c) *. (re c) +. (im c) *. (im c) )
of_string s accepts strings with the following formats:
(<int>|<float>) (+|-) i ( * | . | ) (<int>|<float>)
where (a|b|c) is either a or b or c.
In addition the following degenerate formats are also accepted:
(+|-) i ( * | . | ) (<int>|<float>)
(<int>|<float>) (+|-) i
(<int>|<float>)
Printing