@stdlib/strided-base-reinterpret-complex
v0.1.2
Published
Reinterpret a complex-valued floating-point array as a real-valued floating-point array having the same precision.
Downloads
410
Readme
reinterpret
Reinterpret a complex-valued floating-point array as a real-valued floating-point array having the same precision.
Installation
npm install @stdlib/strided-base-reinterpret-complex
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
Notice
This package is part of 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, see the main project repository.
Community
License
See LICENSE.
Copyright
Copyright © 2016-2024. The Stdlib Authors.