reim
Return the real and imaginary components of a double-precision complex floating-point number.
Usage
var reim = require( '@stdlib/complex/float64/reim' );
reim( z )
Returns the real and imaginary components of a double-precision complex floating-point number.
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var z = new Complex128( 5.0, 3.0 );
var out = reim( z );
// returns <Float64Array>[ 5.0, 3.0 ]
Examples
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var filledarrayBy = require( '@stdlib/array/filled-by' );
var reim = require( '@stdlib/complex/float64/reim' );
function random() {
    return new Complex128( discreteUniform( -10, 10 ), discreteUniform( -10, 10 ) );
}
// Generate an array of random complex numbers:
var x = filledarrayBy( 100, 'complex128', random );
// returns <Complex128Array>
// Return the real and imaginary components of each complex number...
var out;
var z;
var i;
for ( i = 0; i < x.length; i++ ) {
    z = x.get( i );
    out = reim( z );
    console.log( '%s => %d, %d', z.toString(), out[ 0 ], out[ 1 ] );
}
C APIs
Usage
#include "stdlib/complex/float64/reim.h"
stdlib_complex128_reim( z, *re, *im )
Returns the real and imaginary components of a double-precision complex floating-point number.
#include "stdlib/complex/float64/ctor.h"
stdlib_complex128_t z = stdlib_complex128( 5.0, 2.0 );
// ...
double re;
double im;
stdlib_complex128_reim( z, &re, &im );
The function accepts the following arguments:
- z: [in] stdlib_complex128_tdouble-precision complex floating-point number.
- re: [out] double*destination for real component.
- im: [out] double*destination for imaginary component.
void stdlib_complex128_reim( const stdlib_complex128_t z, double *re, double *im );
Examples
#include "stdlib/complex/float64/reim.h"
#include "stdlib/complex/float64/ctor.h"
#include <stdio.h>
int main( void ) {
    const stdlib_complex128_t x[] = {
        stdlib_complex128( 5.0, 2.0 ),
        stdlib_complex128( -2.0, 1.0 ),
        stdlib_complex128( 0.0, -0.0 ),
        stdlib_complex128( 0.0/0.0, 0.0/0.0 )
    };
    double re;
    double im;
    int i;
    for ( i = 0; i < 4; i++ ) {
        stdlib_complex128_reim( x[ i ], &re, &im );
        printf( "reim(v) = %lf, %lf\n", re, im );
    }
}