reimf

Return the real and imaginary components of a single-precision complex floating-point number.

Usage

var reimf = require( '@stdlib/complex/reimf' );

reimf( z )

Returns the real and imaginary components of a single-precision complex floating-point number.

var Complex64 = require( '@stdlib/complex/float32' );

var z = new Complex64( 5.0, 3.0 );
var out = reimf( z );
// returns <Float32Array>[ 5.0, 3.0 ]

Examples

var Complex64 = require( '@stdlib/complex/float32' );
var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var reimf = require( '@stdlib/complex/reimf' );

var out;
var re;
var im;
var z;
var i;

for ( i = 0; i < 100; i++ ) {
    re = round( (randu()*100.0) - 50.0 );
    im = round( (randu()*50.0) - 25.0 );
    z = new Complex64( re, im );
    out = reimf( z );
    console.log( '%s => %d, %d', z.toString(), out[ 0 ], out[ 1 ] );
}

C APIs

Usage

#include "stdlib/complex/reimf.h"

stdlib_reimf( z, *re, *im )

Returns the real and imaginary components of a single-precision complex floating-point number.

#include "stdlib/complex/float32.h"

stdlib_complex64_t z = stdlib_complex64( 5.0f, 2.0f );

// ...

float re;
float im;

stdlib_reimf( z, &re, &im );

The function accepts the following arguments:

  • z: [in] stdlib_complex64_t single-precision complex floating-point number.
  • re: [out] float* destination for real component.
  • im: [out] float* destination for imaginary component.
void stdlib_reimf( const stdlib_complex64_t z, float *re, float *im );

Examples

#include "stdlib/complex/reimf.h"
#include "stdlib/complex/float32.h"
#include <stdio.h>

int main() {
    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_reimf( x[ i ], &re, &im );
        printf( "reimf(v) = %f, %f\n", re, im );
    }
}
Did you find this page helpful?