function broadcastScalar( value, dtype, shape, order ) {
	var buf;
	var set;
	var N;

	buf = buffer( dtype, 1 );
	if ( buf === null ) {
		throw new TypeError( format( 'invalid argument. Second argument must be a recognized data type. Value: `%s`.', dtype ) );
	}
	if ( isComplexDataType( dtype ) && isNumber( value ) ) {
		value = [ value, 0.0 ]; // note: we're assuming that the ComplexXXArray setter accepts an array of interleaved real and imaginary components
	}
	if ( isAccessorArray( buf ) ) {
		set = accessorSetter( dtype );
	} else {
		set = setter( dtype );
	}
	set( buf, 0, value );
	N = shape.length || 1;
	return new ndarray( dtype, buf, shape, zeros( N ), 0, order );
}
Broadcasts a scalar value to an ndarray having a specified shape.

@param {*} value - scalar value
@param {string} dtype - output array data type
@param {NonNegativeIntegerArray} shape - output array shape
@param {string} order - memory layout (either row-major or column-major)
@throws {TypeError} second argument must be a recognized data type
@returns {ndarray} ndarray

@example
var x = broadcastScalar( 1.0, 'float64', [ 2, 2 ], 'row-major' );
// returns <ndarray>

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

var dt = x.dtype;
// returns 'float64'

var v = x.get( 0, 1 );
// returns 1.0