**Chapter
3. **** Complex Number Types** (.NET, C#, CSharp, VB, Visual Basic, F#)

In **NMath**,
the **FloatComplex** and **DoubleComplex** structures
represent complex numbers, consisting of real and imaginary parts of
single- and double-precision floating point numbers. **NMath** defines these types as
structures, rather than classes, for greater efficiency. Remember that
structures are value types in .NET, and are always passed by value.

These types support equality operations, conversion from float, double, or a string representation, and basic arithmetic operations. They also provide static member functions for returning the argument (or phase) of a complex number, the complex conjugate, the norm (or modulus), and for converting from polar coordinates.

Trigonometric functions for complex numbers, and transcendental
functions such as exponents, logarithms, powers, and square roots, are
available in the **NMathFunctions**
class.