Complex Typed Arrays

Create a complex number typed array.

Usage

var complexarray = require( '@stdlib/array/typed-complex' );

complexarray( [dtype] )

Creates a complex number typed array having a specified data type dtype.

var arr = complexarray();
// returns <Complex128Array>

The function recognizes the following data types:

  • complex128: double-precision complex floating-point numbers
  • complex64: single-precision complex floating-point numbers

By default, the output complex number typed array data type is complex128. To specify an alternative data type, provide a dtype argument.

var arr = complexarray( 'complex64' );
// returns <Complex64Array>

complexarray( length[, dtype] )

Returns a complex number typed array having a specified length.

var arr1 = complexarray( 5 );
// returns <Complex128Array>

var arr2 = complexarray( 5, 'complex64' );
// returns <Complex64Array>

complexarray( complexarray[, dtype] )

Creates a complex number typed array from another complex number typed array.

var arr1 = complexarray( [ 5.0, -3.0, 2.0, 1.0 ] );
// returns <Complex128Array>

var arr2 = complexarray( arr1 );
// returns <Complex128Array>

var arr3 = complexarray( arr1, 'complex64' );
// returns <Complex64Array>

complexarray( obj[, dtype] )

Creates a complex number typed array from an array-like object or iterable.

var arr1 = complexarray( [ 0.5, 0.5, 0.5, 0.5 ] );
// returns <Complex128Array>

var arr2 = complexarray( [ 0.5, 0.5, 0.5, 0.5 ], 'complex64' );
// returns <Complex64Array>

If a provided array-like object contains interleaved real and imaginary components, the array-like object must have a length which is a multiple of two.

complexarray( buffer[, byteOffset[, length]][, dtype] )

Returns a complex number typed array view of an ArrayBuffer.

var ArrayBuffer = require( '@stdlib/array/buffer' );
var buf = new ArrayBuffer( 64 );

var arr1 = complexarray( buf );
// returns <Complex128Array>

var arr2 = complexarray( buf, 'complex64' );
// returns <Complex64Array>

var arr3 = complexarray( buf, 32 );
// returns <Complex128Array>

var arr4 = complexarray( buf, 32, 'complex64' );
// returns <Complex64Array>

var arr5 = complexarray( buf, 32, 1 );
// returns <Complex128Array>

var arr6 = complexarray( buf, 24, 4, 'complex64' );
// returns <Complex64Array>

Examples

var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var gfillBy = require( '@stdlib/blas/ext/base/gfill-by' );
var Complex128 = require( '@stdlib/complex/float64' );
var reinterpret128 = require( '@stdlib/strided/base/reinterpret-complex128' );
var complexarray = require( '@stdlib/array/typed-complex' );

function rand() {
    var re = discreteUniform( -10, 10 );
    var im = discreteUniform( -10, 10 );
    return new Complex128( re, im );
}

// Create a new complex number typed array:
var arr = complexarray( 100, 'complex128' );

// Fill the array with random complex numbers:
gfillBy( arr.length, arr, 1, rand );

// Reinterpret the complex number array as a `Float64Array`:
var view = reinterpret128( arr, 0 );

// View the results:
console.log( view );
Did you find this page helpful?