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' );

var DTYPES;
var ctor;
var buf;
var len;
var dt;
var i;

// Get a list of supported ndarray buffer data types:
DTYPES = dtypes();

// Buffer length:
len = 10;

// For each supported data type, create a buffer and confirm its data type...
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' );