function zlaset( uplo, M, N, alpha, beta, A, strideA1, strideA2, offsetA ) {
	var viewA;
	var ar;
	var ai;
	var br;
	var bi;

	// Reinterpret the input array as a real-valued array of interleaved real and imaginary components:
	viewA = reinterpret( A, 0 );

	// Adjust the strides and offset accordingly:
	strideA1 *= 2;
	strideA2 *= 2;

	offsetA *= 2;

	// Decompose the scalars to real and imaginary components:
	ar = real( alpha );
	ai = imag( alpha );
	br = real( beta );
	bi = imag( beta );

	if ( uplo === 'upper' ) {
		setUpper( M, N, ar, ai, br, bi, viewA, strideA1, strideA2, offsetA );
	} else if ( uplo === 'lower' ) {
		setLower( M, N, ar, ai, br, bi, viewA, strideA1, strideA2, offsetA );
	} else {
		setAll( M, N, ar, ai, br, bi, viewA, strideA1, strideA2, offsetA );
	}
	return A;
}
Sets elements of matrix `A` to specified values.

@private
@param {string} uplo - specifies whether to set the upper or lower triangular/trapezoidal part of matrix `A`
@param {NonNegativeInteger} M - number of rows in matrix `A`
@param {NonNegativeInteger} N - number of columns in matrix `A`
@param {Complex128} alpha - value assigned to off-diagonal elements
@param {Complex128} beta - value assigned to diagonal elements
@param {Complex128Array} A - input matrix
@param {integer} strideA1 - stride of the first dimension of `A`
@param {integer} strideA2 - stride of the second dimension of `A`
@param {NonNegativeInteger} offsetA - starting index for `A`
@returns {Complex128Array} `A`

@example
var Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

var A = new Complex128Array( 4 );

var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );

zlaset( 'all', 2, 2, alpha, beta, A, 2, 1, 0 );

var z = A.get( 0 );
// returns <Complex128>

var re = real( z );
// returns 3.0

var im = imag( z );
// returns 4.0

z = A.get( 1 );
// returns <Complex128>

re = real( z );
// returns 1.0

im = imag( z );
// returns 2.0

z = A.get( 2 );
// returns <Complex128>

re = real( z );
// returns 1.0

im = imag( z );
// returns 2.0

@example
var Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

var A = new Complex128Array( 4 );

var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );

zlaset( 'upper', 2, 2, alpha, beta, A, 2, 1, 0 );

var z = A.get( 0 );
// returns <Complex128>

var re = real( z );
// returns 3.0

var im = imag( z );
// returns 4.0

z = A.get( 1 );
// returns <Complex128>

re = real( z );
// returns 1.0

im = imag( z );
// returns 2.0

z = A.get( 2 );
// returns <Complex128>

re = real( z );
// returns 0.0

im = imag( z );
// returns 0.0

@example
var Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

var A = new Complex128Array( 4 );

var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );

zlaset( 'lower', 2, 2, alpha, beta, A, 2, 1, 0 );

var z = A.get( 0 );
// returns <Complex128>

var re = real( z );
// returns 3.0

var im = imag( z );
// returns 4.0

z = A.get( 1 );
// returns <Complex128>

re = real( z );
// returns 0.0

im = imag( z );
// returns 0.0

z = A.get( 2 );
// returns <Complex128>

re = real( z );
// returns 1.0

im = imag( z );
// returns 2.0