# reimf [![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] > Return the real and imaginary components of a single-precision complex floating-point number.
## Installation ```bash npm install @stdlib/complex-reimf ```
## Usage ```javascript var reimf = require( '@stdlib/complex-reimf' ); ``` #### reimf( z ) Returns the **real** and **imaginary** components of a single-precision complex floating-point number. ```javascript var Complex64 = require( '@stdlib/complex-float32' ); var z = new Complex64( 5.0, 3.0 ); var out = reimf( z ); // returns [ 5.0, 3.0 ] ```
## Examples ```javascript 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 ```c #include "stdlib/complex/reimf.h" ``` #### stdlib_reimf( z, \*re, \*im ) Returns the real and imaginary components of a single-precision complex floating-point number. ```c #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. ```c void stdlib_reimf( const stdlib_complex64_t z, float *re, float *im ); ```
### Examples ```c #include "stdlib/complex/reimf.h" #include "stdlib/complex/float32.h" #include 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 ); } } ```
* * * ## Notice This package is part of [stdlib][stdlib], a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more. For more information on the project, filing bug reports and feature requests, and guidance on how to develop [stdlib][stdlib], see the main project [repository][stdlib]. #### Community [![Chat][chat-image]][chat-url] --- ## License See [LICENSE][stdlib-license]. ## Copyright Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].