reinterpret
Reinterpret a complex-valued floating-point array as a real-valued floating-point array having the same precision.
Usage
var reinterpret = require( '@stdlib/strided/base/reinterpret-complex' );
reinterpret( x, offset )
Returns a real-valued floating-point array view of a complex-valued floating-point array.
var Complex128Array = require( '@stdlib/array/complex128' );
var x = new Complex128Array( 10 );
var view = reinterpret( x, 0 );
// returns <Float64Array>
var bool = ( view.buffer === x.buffer );
// returns true
var len = view.length;
// returns 20
The offset
argument specifies the starting index of the returned real-valued floating-point array view relative to the input array.
var Complex64Array = require( '@stdlib/array/complex64' );
var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
var view = reinterpret( x, 2 );
// returns <Float32Array>
var len = view.length;
// returns 4
var re = view[ 0 ];
// returns 5.0
var im = view[ 1 ];
// returns 6.0
Examples
var Complex128Array = require( '@stdlib/array/complex128' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
var reinterpret = require( '@stdlib/strided/base/reinterpret-complex' );
// Define a complex number array:
var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
// returns <Complex128Array>
// Reinterpret as a `float64` array:
var view = reinterpret( x, 0 );
// returns <Float64Array>
// Set view elements:
view[ 0 ] = 9.0;
view[ 1 ] = 10.0;
// Get the first element of the complex number array:
var z = x.get( 0 );
// returns <Complex128>
var re = real( z );
// returns 9.0
var im = imag( z );
// returns 10.0