Casting Modes

List of ndarray casting modes.

Usage

var modes = require( '@stdlib/ndarray/casting-modes' );

modes()

Returns a list of ndarray casting modes.

var out = modes();
// returns [ 'none', 'equiv', 'safe', 'mostly-safe', 'same-kind', 'unsafe' ]

The output array contains the following modes:

  • none: only allow casting between identical types.
  • equiv: allow casting between identical and byte swapped types.
  • safe: only allow "safe" casts.
  • mostly-safe: allow "safe" casts and, for floating-point data types, downcasts.
  • same-kind: allow "safe" casts and casts within the same kind (e.g., between signed integers or between floats).
  • unsafe: allow casting between all types (including between integers and floats).

Examples

var indexOf = require( '@stdlib/utils/index-of' );
var modes = require( '@stdlib/ndarray/casting-modes' );

var MODES = modes();
var bool;

function isMode( str ) {
    if ( indexOf( MODES, str ) === -1 ) {
        return false;
    }
    return true;
}

bool = isMode( 'none' );
// returns true

bool = isMode( 'equiv' );
// returns true

bool = isMode( 'safe' );
// returns true

bool = isMode( 'mostly-safe' );
// returns true

bool = isMode( 'same-kind' );
// returns true

bool = isMode( 'unsafe' );
// returns true

bool = isMode( 'beep' );
// returns false
Did you find this page helpful?