Same Kind Casts

Return a list of array data types to which a provided array data type can be safely cast or cast within the same "kind".

Usage

var sameKindCasts = require( '@stdlib/array/same-kind-casts' );

sameKindCasts( [dtype] )

If provided a dtype argument, returns a list of array data types to which a provided array data type can be safely cast or cast within the same "kind" (e.g., between signed integers or between floating-point numbers).

var out = sameKindCasts( 'float64' );
// e.g., returns [ 'float64', 'float32', 'complex64', 'complex128', 'generic' ]

If not provided a dtype argument, the function returns a casting table.

var out = sameKindCasts();
// returns {...}

var f64 = out[ 'float64' ];
// returns {...}

var v = f64[ 'float32' ];
// returns 1

If provided an unrecognized or unsupported dtype, the function returns null.

var out = sameKindCasts( 'foo' );
// returns null

Examples

var dtypes = require( '@stdlib/array/dtypes' );
var sameKindCasts = require( '@stdlib/array/same-kind-casts' );

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

// Print the list of array data types to which a data type can be cast...
var list;
var i;
for ( i = 0; i < DTYPES.length; i++ ) {
    list = sameKindCasts( DTYPES[ i ] );
    console.log( '%s: %s', DTYPES[ i ], list.join( ', ' ) );
}
Did you find this page helpful?