0.1.1 • Published 2 months ago

@stdlib/strided-base-reinterpret-complex v0.1.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 months ago

reinterpret

NPM version Build Status Coverage Status

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-real' );
var imag = require( '@stdlib/complex-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

Chat


License

See LICENSE.

Copyright

Copyright © 2016-2024. The Stdlib Authors.