# Casting Modes
> List of ndarray casting modes.
## Usage
```javascript
var modes = require( '@stdlib/ndarray/casting-modes' );
```
#### modes()
Returns a list of ndarray casting modes.
```javascript
var out = modes();
// returns [ 'none', 'equiv', '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.
- `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
```javascript
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( 'same-kind' );
// returns true
bool = isMode( 'unsafe' );
// returns true
bool = isMode( 'beep' );
// returns false
```