## Usage
```javascript
var ns = require( '@stdlib/complex' );
```
#### ns
Complex number data types.
```javascript
var o = ns;
// returns {...}
```
The namespace constains complex number constructors.
- [`complex( real, imag[, dtype] )`][@stdlib/complex/cmplx]: create a complex number.
- [`Complex64( real, imag )`][@stdlib/complex/float32]: 64-bit complex number.
- [`Complex128( real, imag )`][@stdlib/complex/float64]: 128-bit complex number.
```javascript
var z = ns.complex( 5.0, 3.0 );
// returns
var str = z.toString();
// returns '5 + 3i'
z = ns.complex( 5.0, 3.0, 'float32' );
// returns
z = new ns.Complex64( 5.0, 3.0 );
// returns
```
In addition, the namespace contains the following functions:
- [`conj( z )`][@stdlib/complex/conj]: return the complex conjugate of a complex number.
- [`imag( z )`][@stdlib/complex/imag]: return the imaginary component of a complex number.
- [`real( z )`][@stdlib/complex/real]: return the real component of a complex number.
- [`reim( z )`][@stdlib/complex/reim]: return the real and imaginary components of a complex number.
- [`reviveComplex64( key, value )`][@stdlib/complex/reviver-float32]: revive a JSON-serialized 64-bit complex number.
- [`reviveComplex128( key, value )`][@stdlib/complex/reviver-float64]: revive a JSON-serialized 128-bit complex number.
- [`reviveComplex( key, value )`][@stdlib/complex/reviver]: revive a JSON-serialized complex number.
```javascript
var z = ns.complex( 5.0, 3.0 );
var str = z.toString();
// returns '5 + 3i'
var v = ns.conj( z );
str = v.toString();
// returns '5 - 3i'
```