Mostly Safe Casts
Return a list of ndarray data types to which a provided ndarray data type can be safely cast and, for floating-point data types, can be downcast.
Usage
var mostlySafeCasts = require( '@stdlib/ndarray/mostly-safe-casts' );
mostlySafeCasts( [dtype] )
If provided a dtype
argument, returns a list of ndarray data types to which a provided ndarray data type can be safely cast and, for floating-point data types, can be downcast.
var out = mostlySafeCasts( 'float32' );
// e.g., returns [ 'float32', 'float64', ... ]
If not provided a dtype
argument, the function returns a casting table.
var out = mostlySafeCasts();
// returns {...}
var f32 = out[ 'float32' ];
// returns {...}
var v = f32[ 'float64' ];
// returns 1
If provided an unrecognized or unsupported dtype
, the function returns null
.
var out = mostlySafeCasts( 'foo' );
// returns null
Examples
var dtypes = require( '@stdlib/ndarray/dtypes' );
var mostlySafeCasts = require( '@stdlib/ndarray/mostly-safe-casts' );
// Get the list of supported ndarray data types:
var DTYPES = dtypes();
// Print the list of ndarray data types to which a data type can be cast...
var list;
var i;
for ( i = 0; i < DTYPES.length; i++ ) {
list = mostlySafeCasts( DTYPES[ i ] );
console.log( '%s: %s', DTYPES[ i ], list.join( ', ' ) );
}