Buffer Data Type
Return the data type of an ndarray data buffer.
Usage
var dtype = require( '@stdlib/ndarray/base/buffer-dtype' );
dtype( buffer )
Returns the data type of an ndarray data buffer
.
var Float64Array = require( '@stdlib/array/float64' );
var buf = new Float64Array( 10 );
var dt = dtype( buf );
// returns 'float64'
If provided an ndarray data buffer
having an unknown or unsupported data type, the function returns null
.
var dt = dtype( 'beep' );
// returns null
Examples
var dtypes = require( '@stdlib/ndarray/dtypes' );
var bufferCtors = require( '@stdlib/ndarray/base/buffer-ctors' );
var isFunction = require( '@stdlib/assert/is-function' );
var dtype = require( '@stdlib/ndarray/base/buffer-dtype' );
// Get a list of supported ndarray buffer data types:
var DTYPES = dtypes();
// Buffer length:
var len = 10;
// For each supported data type, create a buffer and confirm its data type...
var ctor;
var buf;
var dt;
var i;
for ( i = 0; i < DTYPES.length; i++ ) {
ctor = bufferCtors( DTYPES[ i ] );
if ( DTYPES[ i ] === 'binary' && isFunction( ctor.alloc ) ) {
buf = ctor.alloc( len );
} else {
buf = new ctor( len );
}
dt = dtype( buf );
console.log( '%s == %s => %s', DTYPES[ i ], dt, DTYPES[ i ] === dt );
}
// Try an array-like object...
buf = {
'length': 10
};
dt = dtype( buf );
console.log( '%s == %s => %s', 'generic', dt, dt === 'generic' );