function slacpy( order, uplo, M, N, A, LDA, B, LDB ) {
	var sa1;
	var sa2;
	var sb1;
	var sb2;
	if ( !isLayout( order ) ) {
		throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
	}
	if ( isColumnMajor( order ) ) {
		sa1 = 1;
		sa2 = LDA;
		sb1 = 1;
		sb2 = LDB;
	} else { // order === 'row-major'
		if ( LDA < N ) {
			throw new RangeError( format( 'invalid argument. Sixth argument must be greater than or equal to %d. Value: `%d`.', N, LDA ) );
		}
		if ( LDB < N ) {
			throw new RangeError( format( 'invalid argument. Eighth argument must be greater than or equal to %d. Value: `%d`.', N, LDB ) );
		}
		sa1 = LDA;
		sa2 = 1;
		sb1 = LDB;
		sb2 = 1;
	}
	return base( uplo, M, N, A, sa1, sa2, 0, B, sb1, sb2, 0 );
}
Copies all or part of a matrix `A` to another matrix `B`.

@param {string} order - storage layout of `A` and `B`
@param {string} uplo - specifies whether to copy 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 {Float32Array} A - input matrix
@param {PositiveInteger} LDA - stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`)
@param {Float32Array} B - output matrix
@param {PositiveInteger} LDB - stride of the first dimension of `B` (a.k.a., leading dimension of the matrix `B`)
@throws {TypeError} first argument must be a valid order
@throws {RangeError} sixth argument must be greater than or equal to `N`
@throws {RangeError} eighth argument must be greater than or equal to `N`
@returns {Float32Array} `B`

@example
var Float32Array = require( '@stdlib/array/float32' );

var A = new Float32Array( [ 1.0, 2.0, 3.0, 4.0 ] );
var B = new Float32Array( 4 );

slacpy( 'row-major', 'all', 2, 2, A, 2, B, 2 );
// B => <Float32Array>[ 1.0, 2.0, 3.0, 4.0 ]

@example
var Float32Array = require( '@stdlib/array/float32' );

var A = new Float32Array( [ 1.0, 2.0, 3.0, 4.0 ] );
var B = new Float32Array( 4 );

slacpy( 'row-major', 'upper', 2, 2, A, 2, B, 2 );
// B => <Float32Array>[ 1.0, 2.0, 0.0, 4.0 ]

@example
var Float32Array = require( '@stdlib/array/float32' );

var A = new Float32Array( [ 1.0, 2.0, 3.0, 4.0 ] );
var B = new Float32Array( 4 );

slacpy( 'row-major', 'lower', 2, 2, A, 2, B, 2 );
// B => <Float32Array>[ 1.0, 0.0, 3.0, 4.0 ]