Return the real and imaginary components of a single-precision complex floating-point number.
Usage
var reim = require( '@stdlib/complex/float32/reim' );
reim( z )
Returns the real and imaginary components of a single-precision complex floating-point number.
var Complex64 = require( '@stdlib/complex/float32/ctor' ); var z = new Complex64( 5.0, 3.0 ); var out = reim( z ); // returns <Float32Array>[ 5.0, 3.0 ]
Examples
var Complex64 = require( '@stdlib/complex/float32/ctor' ); var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ); var filledarrayBy = require( '@stdlib/array/filled-by' ); var reim = require( '@stdlib/complex/float32/reim' ); function random() { return new Complex64( discreteUniform( -10, 10 ), discreteUniform( -10, 10 ) ); } // Generate an array of random complex numbers: var x = filledarrayBy( 100, 'complex64', random ); // returns <Complex64Array> // 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/float32/reim.h"
stdlib_complex64_reim( z, *re, *im )
Returns the real and imaginary components of a single-precision complex floating-point number.
#include "stdlib/complex/float32/ctor.h" stdlib_complex64_t z = stdlib_complex64( 5.0f, 2.0f ); // ... float re; float im; stdlib_complex64_reim( z, &re, &im );
The function accepts the following arguments:
- z:
[in] stdlib_complex64_tsingle-precision complex floating-point number. - re:
[out] float*destination for real component. - im:
[out] float*destination for imaginary component.
void stdlib_complex64_reim( const stdlib_complex64_t z, float *re, float *im );
Examples
#include "stdlib/complex/float32/reim.h" #include "stdlib/complex/float32/ctor.h" #include <stdio.h> int main( void ) { const stdlib_complex64_t x[] = { stdlib_complex64( 5.0f, 2.0f ), stdlib_complex64( -2.0f, 1.0f ), stdlib_complex64( 0.0f, -0.0f ), stdlib_complex64( 0.0f/0.0f, 0.0f/0.0f ) }; float re; float im; int i; for ( i = 0; i < 4; i++ ) { stdlib_complex64_reim( x[ i ], &re, &im ); printf( "reim(v) = %f, %f\n", re, im ); } }
See Also
@stdlib/complex/float32/imag: return the imaginary component of a single-precision complex floating-point number.@stdlib/complex/float32/real: return the real component of a single-precision complex floating-point number.@stdlib/complex/float64/reim: return the real and imaginary components of a double-precision complex floating-point number.