function empty( dtype, shape, order ) {
	var ndims;
	var buf;
	var len;
	var st;

	ndims = shape.length;
	if ( ndims > 0 ) {
		len = numel( shape );
		st = shape2strides( shape, order );
	} else {
		// For 0-dimensional arrays, the buffer should contain a single element...
		len = 1;
		st = [ 0 ];
	}
	if ( dtype === 'binary' ) {
		buf = allocUnsafe( len );
	} else {
		buf = emptyArray( len, dtype );
	}
	return new ndarray( dtype, buf, shape, st, strides2offset( shape, st ), order ); // eslint-disable-line max-len
}
Creates an uninitialized ndarray having a specified shape and data type.

@param {string} dtype - data type
@param {NonNegativeIntegerArray} shape - array shape
@param {string} order - array order
@throws {TypeError} first argument must be a recognized data type
@returns {ndarray} ndarray

@example
var arr = empty( 'float32', [ 2, 2 ], 'row-major' );
// returns <ndarray>

var sh = arr.shape;
// returns [ 2, 2 ]

var dt = arr.dtype;
// returns 'float32'