imag

Return the imaginary component of a single-precision complex floating-point number.

Usage

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

imag( z )

Returns the imaginary component of a single-precision complex floating-point number.

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

var z = new Complex64( 5.0, 3.0 );
var im = imag( z );
// returns 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 imag = require( '@stdlib/complex/float32/imag' );

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>

// Retrieve the imaginary component of each complex number...
var z;
var i;
for ( i = 0; i < x.length; i++ ) {
    z = x.get( i );
    console.log( 'imag(%s) = %d', z.toString(), imag( z ) );
}

C APIs

Usage

#include "stdlib/complex/float32/imag.h"

stdlib_complex64_imag( z )

Returns the imaginary component 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 im = stdlib_complex64_imag( z );
// returns 2.0f

The function accepts the following arguments:

  • z: [in] stdlib_complex64_t single-precision complex floating-point number.
float stdlib_complex64_imag( const stdlib_complex64_t z );

Examples

#include "stdlib/complex/float32/imag.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 )
    };

    int i;
    for ( i = 0; i < 4; i++ ) {
        printf( "imag(v) = %f\n", stdlib_complex64_imag( x[ i ] ) );
    }
}
Did you find this page helpful?