Convert

Convert an array to the same data type as a second input array.

Usage

var convertArraySame = require( '@stdlib/array/convert-same' );

convertArraySame( x, y )

Converts an array to the same data type as a second input array.

var Float32Array = require( '@stdlib/array/float32' );

var y = new Float32Array( 0 );

var x = [ 1.0, 2.0, 3.0 ];
var out = convertArraySame( x, y );
// returns <Float32Array>[ 1.0, 2.0, 3.0 ]

The function supports input arrays having the following data types:

  • float32: single-precision floating-point numbers.
  • float64: double-precision floating-point numbers.
  • generic: values of any type.
  • int16: signed 16-bit integers.
  • int32: signed 32-bit integers.
  • int8: signed 8-bit integers.
  • uint16: unsigned 16-bit integers.
  • uint32: unsigned 32-bit integers.
  • uint8: unsigned 8-bit integers.
  • uint8c: unsigned clamped 8-bit integers.

Examples

var dtypes = require( '@stdlib/array/dtypes' );
var ctors = require( '@stdlib/array/ctors' );
var randu = require( '@stdlib/random/base/randu' );
var floor = require( '@stdlib/math/base/special/floor' );
var convertArraySame = require( '@stdlib/array/convert-same' );

// Create a generic array:
var x = new Array( 5 );
var i;
for ( i = 0; i < x.length; i++ ) {
    x[ i ] = floor( randu()*1.0e25 ) - 5.0e24;
}

// Get a list of array data types:
var DTYPES = dtypes();

// Convert the generic array to each array data type:
var ctor;
var out;
var y;
for ( i = 0; i < DTYPES.length; i++ ) {
    ctor = ctors( DTYPES[ i ] );
    y = new ctor( 0 );
    out = convertArraySame( x, y );
    console.log( out );
}