diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/README.md b/lib/node_modules/@stdlib/lapack/base/dlatrs/README.md
new file mode 100644
index 000000000000..77ee6ed4b520
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/README.md
@@ -0,0 +1,342 @@
+
+
+# dlatrs
+
+> LAPACK routine to solve a triangular system of equations with the scale factor set to prevent overflow.
+
+
+
+The `dlatrs` routine solves a triangular system of linear equations with a scaling factor to prevent overflow. It can handle either the original system or its transpose:
+
+
+
+```math
+A X = s B \quad \text{or} \quad A^{T} X = s B
+```
+
+
+
+where:
+
+- `A` is an upper or lower triangular matrix,
+- `X` is the solution vector,
+- `B` is the right-hand side vector,
+- `s` is a scaling factor ( 0 < `s` < 1 ) chosen to avoid numerical overflow.
+
+The routine aims to compute a solution `x` such that the magnitude of all elements in `X` remains safely below the machine overflow threshold.
+
+If it determines that solving the unscaled system would not lead to overflow, it calls the Level 2 BLAS routine `dtrsv` for a standard triangular solve. Otherwise, `dlatrs` applies additional scaling and iterative techniques to avoid overflow and maintain numerical stability.
+
+In the presence of a singular matrix `A` (i.e., `A( j, j )` = 0 for some `j`), the scaling factor `s` is set to zero, and a non trivial solution to the homogeneous system:
+
+
+
+```math
+A X = 0
+```
+
+
+
+is returned instead.
+
+To ensure stability during the solve, `dlatrs` relies on several internal estimates, including:
+
+- the off diagonal column norms,
+- the scaling factor `s`,
+- and an estimate of the maximum element in the intermediate vector `X`.
+
+The algorithm may scale `X` at various stages using a factor `scale`, such that the final computed result satisfies:
+
+
+
+```math
+x \leftarrow scale \cdot x
+```
+
+
+
+This ensures both correctness and numerical safety when solving the triangular system under limited-precision arithmetic.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var dlatrs = require( '@stdlib/lapack/base/dlatrs' );
+```
+
+#### dlatrs( order, uplo, trans, diag, normin, N, A, LDA, X, CNORM )
+
+Solves a triangular system of equations with the scale factor set to prevent overflow.
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+
+var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+var X = new Float64Array( [ 5.0, 10.0, 20.0 ] );
+var CNORM = new Float64Array( 3 );
+
+var scale = dlatrs( 'row-major', 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, X, CNORM );
+// returns 1.0
+// X => [ 5.0, 0.0, 5.0 ]
+// CNORM => [ 0.0, 1.0, 3.0 ]
+```
+
+The function has the following parameters:
+
+- **order**: storage layout.
+- **uplo**: specifies whether `A` is an upper or lower triangular matrix.
+- **trans**: specifies whether `A` should be transposed, conjugate-transposed, or not transposed.
+- **diag**: specifies whether `A` has a unit diagonal.
+- **normin**: specifies whether `CNORM` has the column norms on entry or not, should be either `yes` or `no`.
+- **N**: number of elements along each dimension of `A`.
+- **A**: input matrix stored in linear memory as a [`Float64Array`][mdn-float64array].
+- **LDA**: stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`).
+- **X**: input vector [`Float64Array`][mdn-float64array] describing the right hand side `B`, should have `N` elements.
+- **CNORM**: [`Float64Array`][mdn-float64array] used to store the column norms of `A`, should have `N` elements.
+
+`X` is overwritten by the solution vector on the left hand side. If `normin` is `yes` then `CNORM` is an input parameter and it should contain the off diagonal column norms of `A`, else `CNORM` is overwritten by the off diagonal column norms computed by the routine
+
+Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var Int32Array = require( '@stdlib/array/int32' );
+var dlatrs = require( '@stdlib/lapack/base/dlatrs' );
+
+// Initial arrays...
+var A0 = new Float64Array( [ 9999.0, 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+var X0 = new Float64Array( [ 9999.0, 5.0, 10.0, 20.0 ] );
+var CNORM0 = new Float64Array( 4 );
+
+// Create offset views...
+var A = new Float64Array( A0.buffer, A0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
+var X = new Float64Array( X0.buffer, X0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
+var CNORM = new Float64Array( CNORM0.buffer, CNORM0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
+
+var scale = dlatrs( 'row-major', 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, X, CNORM );
+// returns 1.0
+// X0 => [ 9999.0, 5.0, 0.0, 5.0 ]
+// CNORM0 => [ 0.0, 0.0, 1.0, 3.0 ]
+```
+
+
+
+#### dlatrs.ndarray( uplo, trans, diag, normin, N, A, sa1, sa2, oa, X, sx, ox, CNORM, sc, oc )
+
+Solves a triangular system of equations with the scale factor set to prevent overflow using alternative indexing semantics.
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+
+var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+var X = new Float64Array( [ 5.0, 10.0, 20.0 ] );
+var CNORM = new Float64Array( 3 );
+
+var scale = dlatrs.ndarray( 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, 1, 0, X, 1, 0, CNORM, 1, 0 );
+// returns 1.0
+// X => [ 5.0, 0.0, 5.0 ]
+// CNORM => [ 0.0, 1.0, 3.0 ]
+```
+
+The function has the following additional parameters:
+
+- **sa1**: stride of the first dimensiosn of `A`.
+- **sa2**: stride of the second dimension of `A`.
+- **oa**: starting index for `A`.
+- **sx**: stride length for `X`.
+- **ox**: starting index for `X`.
+- **sc**: stride length for `CNORM`.
+- **oc**: starting index for `CNORM`.
+
+While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset parameters support indexing semantics based on starting indices. For example,
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+
+var A = new Float64Array( [ 9999.0, 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+var X = new Float64Array( [ 9999.0, 5.0, 10.0, 20.0 ] );
+var CNORM = new Float64Array( 4 );
+
+var scale = dlatrs.ndarray( 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, 1, 1, X, 1, 1, CNORM, 1, 1 );
+// returns 1.0
+// X => [ 9999.0, 5.0, 0.0, 5.0 ]
+// CNORM => [ 0.0, 0.0, 1.0, 3.0 ]
+```
+
+
+
+
+
+
+
+## Notes
+
+- Both functions mutate the input arrays `X` and `CNORM` (if `normin` = `no`).
+- `dlatrs()` corresponds to the [LAPACK][LAPACK] routine [`dlatrs`][lapack-dlatrs].
+
+
+
+
+
+
+
+## Examples
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var numel = require( '@stdlib/ndarray/base/numel' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var dlatrs = require( '@stdlib/lapack/base/dlatrs' );
+
+// Specify matrix meta data:
+var shape = [ 3, 3 ];
+var strides = [ 3, 1 ];
+var offset = 0;
+var N = numel( shape );
+var order = 'row-major';
+
+// Create a matrix stored in linear memory:
+var A = uniform( N, 2.0, 10.0, {
+ 'dtype': 'float64'
+});
+
+console.log( ndarray2array( A, shape, strides, offset, order ) );
+
+var X = uniform( shape[ 0 ], 0.0, 10.0, {
+ 'dtype': 'float64'
+});
+
+var CNORM = new Float64Array( shape[ 0 ] );
+
+var scale = dlatrs( order, 'upper', 'no-transpose', 'non-unit', 'no', shape[ 0 ], A, strides[ 0 ], X, CNORM );
+console.log( ndarray2array( A, shape, strides, offset, order ) );
+console.log( 'scaling factor: ', scale );
+```
+
+
+
+
+
+
+
+* * *
+
+
+
+## C APIs
+
+
+
+
+
+
+
+
+
+
+
+### Usage
+
+```c
+TODO
+```
+
+#### TODO
+
+TODO.
+
+```c
+TODO
+```
+
+TODO
+
+```c
+TODO
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Examples
+
+```c
+TODO
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[lapack]: https://www.netlib.org/lapack/explore-html/
+
+[lapack-dlatrs]: https://www.netlib.org/lapack/explore-html-3.6.1/d8/dc3/dlatrs_8f_aab36439db8d657622a1d296b89d4acc0.html
+
+[mdn-float64array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array
+
+[mdn-typed-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
+
+
+
+
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/benchmark/benchmark.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/benchmark/benchmark.js
new file mode 100644
index 000000000000..b3ecacc8ba95
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/benchmark/benchmark.js
@@ -0,0 +1,141 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var bench = require( '@stdlib/bench' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var Float64Array = require( '@stdlib/array/float64' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var pow = require( '@stdlib/math/base/special/pow' );
+var floor = require( '@stdlib/math/base/special/floor' );
+var pkg = require( './../package.json' ).name;
+var dlatrs = require( './../lib/dlatrs.js' );
+
+
+// VARIABLES //
+
+var LAYOUTS = [
+ 'row-major',
+ 'column-major'
+];
+var MATRIX_TRIANGLES = [
+ 'upper',
+ 'lower'
+];
+var TRANSPOSE_OPS = [
+ 'transpose',
+ 'no-transpose'
+];
+
+
+// FUNCTIONS //
+
+/**
+* Creates a benchmark function.
+*
+* @private
+* @param {string} order - storage layout
+* @param {PositiveInteger} N - number of elements along each dimension
+* @param {string} uplo - specifies whether `A` is an upper or lower triangular matrix
+* @param {string} trans - specifies whether `A` should be transposed or not transposed
+* @returns {Function} benchmark function
+*/
+function createBenchmark( order, N, uplo, trans ) {
+ var CNORM;
+ var X;
+ var A;
+
+ A = uniform( N*N, 2.0, 10.0, {
+ 'dtype': 'float64'
+ });
+ X = uniform( N, 1.0, 10.0, {
+ 'dtype': 'float64'
+ });
+ CNORM = new Float64Array( N );
+ return benchmark;
+
+ /**
+ * Benchmark function.
+ *
+ * @private
+ * @param {Benchmark} b - benchmark instance
+ */
+ function benchmark( b ) {
+ var z;
+ var i;
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ z = dlatrs( order, uplo, trans, 'non-unit', 'no', N, A, N, X, CNORM );
+ if ( isnan( z ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnan( z ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+ }
+}
+
+
+// MAIN //
+
+/**
+* Main execution sequence.
+*
+* @private
+*/
+function main() {
+ var trans;
+ var uplo;
+ var min;
+ var max;
+ var ord;
+ var N;
+ var f;
+ var i;
+ var j;
+ var k;
+ var l;
+
+ min = 1; // 10^min
+ max = 6; // 10^max
+
+ for ( k = 0; k < LAYOUTS.length; k++ ) {
+ ord = LAYOUTS[ k ];
+ for ( i = min; i <= max; i++ ) {
+ N = floor( pow( pow( 10, i ), 1.0/2.0 ) );
+ for ( j = 0; j < MATRIX_TRIANGLES.length; j++ ) {
+ uplo = MATRIX_TRIANGLES[ j ];
+ for ( l = 0; l < TRANSPOSE_OPS.length; l++ ) {
+ trans = TRANSPOSE_OPS[ l ];
+ f = createBenchmark( ord, N, uplo, trans );
+ bench( pkg+'::square_matrix:order='+ord+',uplo='+uplo+',trans='+trans+',size='+(N*N), f );
+ }
+ }
+ }
+ }
+}
+
+main();
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/benchmark/benchmark.ndarray.js
new file mode 100644
index 000000000000..576cab4474a9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/benchmark/benchmark.ndarray.js
@@ -0,0 +1,151 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var bench = require( '@stdlib/bench' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var Float64Array = require( '@stdlib/array/float64' );
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var pow = require( '@stdlib/math/base/special/pow' );
+var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' );
+var floor = require( '@stdlib/math/base/special/floor' );
+var pkg = require( './../package.json' ).name;
+var dlatrs = require( './../lib/ndarray.js' );
+
+
+// VARIABLES //
+
+var LAYOUTS = [
+ 'row-major',
+ 'column-major'
+];
+var MATRIX_TRIANGLES = [
+ 'upper',
+ 'lower'
+];
+var TRANSPOSE_OPS = [
+ 'transpose',
+ 'no-transpose'
+];
+
+
+// FUNCTIONS //
+
+/**
+* Creates a benchmark function.
+*
+* @private
+* @param {string} order - storage layout
+* @param {PositiveInteger} N - number of elements along each dimension
+* @param {string} uplo - specifies whether `A` is an upper or lower triangular matrix
+* @param {string} trans - specifies whether `A` should be transposed or not transposed
+* @returns {Function} benchmark function
+*/
+function createBenchmark( order, N, uplo, trans ) {
+ var CNORM;
+ var sa1;
+ var sa2;
+ var X;
+ var A;
+
+ A = uniform( N*N, 2.0, 10.0, {
+ 'dtype': 'float64'
+ });
+ X = uniform( N, 1.0, 10.0, {
+ 'dtype': 'float64'
+ });
+ if ( isColumnMajor( order ) ) {
+ sa1 = 1;
+ sa2 = N;
+ } else { // order === 'row-major'
+ sa1 = N;
+ sa2 = 1;
+ }
+ CNORM = new Float64Array( N );
+ return benchmark;
+
+ /**
+ * Benchmark function.
+ *
+ * @private
+ * @param {Benchmark} b - benchmark instance
+ */
+ function benchmark( b ) {
+ var z;
+ var i;
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ z = dlatrs( uplo, trans, 'non-unit', 'no', N, A, sa1, sa2, 0, X, 1, 0, CNORM, 1, 0 );
+ if ( isnan( z ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+ if ( isnan( z ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+ }
+}
+
+
+// MAIN //
+
+/**
+* Main execution sequence.
+*
+* @private
+*/
+function main() {
+ var trans;
+ var uplo;
+ var min;
+ var max;
+ var ord;
+ var N;
+ var f;
+ var i;
+ var j;
+ var k;
+ var l;
+
+ min = 1; // 10^min
+ max = 6; // 10^max
+
+ for ( k = 0; k < LAYOUTS.length; k++ ) {
+ ord = LAYOUTS[ k ];
+ for ( i = min; i <= max; i++ ) {
+ N = floor( pow( pow( 10, i ), 1.0/2.0 ) );
+ for ( j = 0; j < MATRIX_TRIANGLES.length; j++ ) {
+ uplo = MATRIX_TRIANGLES[ j ];
+ for ( l = 0; l < TRANSPOSE_OPS.length; l++ ) {
+ trans = TRANSPOSE_OPS[ l ];
+ f = createBenchmark( ord, N, uplo, trans );
+ bench( pkg+'::square_matrix:order='+ord+',uplo='+uplo+',trans='+trans+',size='+(N*N), f );
+ }
+ }
+ }
+ }
+}
+
+main();
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/repl.txt b/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/repl.txt
new file mode 100644
index 000000000000..6d9e71b60f5c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/repl.txt
@@ -0,0 +1,151 @@
+
+{{alias}}( order, uplo, trans, diag, normin, N, A, LDA, X, CNORM )
+ Solves a triangular system of linear equations with a scaling factor
+ to prevent overflow. It can handle either the original system or its
+ transpose.
+
+ Indexing is relative to the first index. To introduce an offset, use typed
+ array views.
+
+ Parameters
+ ----------
+ order: string
+ Row-major (C-style) or column-major (Fortran-style) order. Must be
+ either 'row-major' or 'column-major'.
+
+ uplo: string
+ Specifies whether to copy the upper or lower triangular/trapezoidal part
+ of a matrix `A`.
+
+ trans: string
+ Specifies whether `A` should be transposed, conjugate-transposed, or not
+ transposed.
+
+ diag: string
+ Specifies whether `A` has a unit diagonal.
+
+ normin: string
+ Specifies whether `CNORM` has the column norms on entry or not, should
+ be either `yes` or `no`.
+
+ N: integer
+ Number of rows/columns in `A`.
+
+ A: Float64Array
+ Input matrix `A`.
+
+ LDA: integer
+ Stride of the first dimension of `A` (a.k.a., leading dimension of the
+ matrix `A`).
+
+ X: Float64Array
+ Input vector, stores the right hand side vector `B`, overwritten by the
+ solution vector `X`.
+
+ CNORM: Float64Array
+ Used to store the column norms of `A`, should have `N` elements.
+
+ Returns
+ -------
+ scale: number
+ Scaling factor.
+
+ Examples
+ --------
+ > var A = new {{alias:@stdlib/array/float64}}( [ 4.0, 2.0, 0.0, 3.0 ] );
+ > var X = new {{alias:@stdlib/array/float64}}( [ 10.0, 9.0 ] );
+ > var CNORM = new {{alias:@stdlib/array/float64}}( 2 );
+ > var ord = 'row-major';
+ > var uplo = 'upper';
+ > var tran = 'no-transpose';
+ > var diag = 'non-unit';
+ > {{alias}}( ord, uplo, tran, diag, 'no', 2, A, 2, X, CNORM )
+ 1.0
+ > X
+ [ 1.0, 3.0 ]
+ > CNORM
+ [ 0.0, 2.0 ]
+
+
+{{alias}}.ndarray( uplo,tran,dia,norm, N, A,sa1,sa2,oa, X,sx,ox, CNORM,sc,oc )
+ Solves a triangular system of linear equations with a scaling factor
+ to prevent overflow using alternative indexing semantics. It can handle
+ either the original system or its transpose.
+
+ While typed array views mandate a view offset based on the underlying
+ buffer, the offset parameters support indexing semantics based on starting
+ indices.
+
+ Parameters
+ ----------
+ uplo: string
+ Specifies whether to copy the upper or lower triangular/trapezoidal part
+ of a matrix `A`.
+
+ tran: string
+ Specifies whether `A` should be transposed, conjugate-transposed, or not
+ transposed.
+
+ dia: string
+ Specifies whether `A` has a unit diagonal.
+
+ norm: string
+ Specifies whether `CNORM` has the column norms on entry or not, should
+ be either `yes` or `no`.
+
+ N: integer
+ Number of rows/columns in `A`.
+
+ A: Float64Array
+ Input matrix `A`.
+
+ sa1: integer
+ Stride of the first dimension of `A`.
+
+ sa2: integer
+ Stride of the second dimension of `A`.
+
+ oa: integer
+ Starting index for `A`.
+
+ X: Float64Array
+ Input vector, stores the right hand side vector `B`, overwritten by the
+ solution vector `X`.
+
+ sx: integer
+ Index increment for `X`.
+
+ ox: integer
+ Starting index for `X`.
+
+ CNORM: Float64Array
+ Used to store the column norms of `A`, should have `N` elements.
+
+ sc: integer
+ Index increment for `CNORM`.
+
+ oc: integer
+ Starting index for `CNORM`.
+
+ Returns
+ -------
+ scale: number
+ Scaling factor.
+
+ Examples
+ --------
+ > var A = new {{alias:@stdlib/array/float64}}( [ 4.0, 2.0, 0.0, 3.0 ] );
+ > var X = new {{alias:@stdlib/array/float64}}( [ 10.0, 9.0 ] );
+ > var CNORM = new {{alias:@stdlib/array/float64}}( 2 );
+ > var uplo = 'upper';
+ > var tran = 'no-transpose';
+ > var diag = 'non-unit';
+ > {{alias}}.ndarray( uplo,tran,diag, 'no', 2, A, 2,1,0, X,1,0, CNORM,1,0 )
+ 1.0
+ > X
+ [ 1.0, 3.0 ]
+ > CNORM
+ [ 0.0, 2.0 ]
+
+ See Also
+ --------
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/types/index.d.ts b/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/types/index.d.ts
new file mode 100644
index 000000000000..7086f9835053
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/types/index.d.ts
@@ -0,0 +1,142 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+// TypeScript Version: 4.1
+
+///
+
+import { Layout, DiagonalType, MatrixTriangle, TransposeOperation } from '@stdlib/types/blas';
+
+/**
+* Specifies whether `CNORM` contains the column norms or do they have to be calculated.
+*/
+type Normin = 'yes' | 'no';
+
+/**
+* Interface describing `dlatrs`.
+*/
+interface Routine {
+ /**
+ * Solves a triangular system of equations with the scale factor set to prevent overflow.
+ *
+ * @param order - storage layout
+ * @param uplo - specifies whether `A` is an upper or lower triangular matrix
+ * @param trans - specifies whether `A` should be transposed or not transposed
+ * @param diag - specifies whether `A` has a unit diagonal
+ * @param normin - specifies whether `CNORM` has been set or not
+ * @param N - number of rows/columns in `A`
+ * @param A - input matrix
+ * @param LDA - stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`)
+ * @param X - input vector, specifies the right hand side vector of the equation
+ * @param CNORM - used to store the column norms
+ * @returns permuted matrix `A`
+ *
+ * @example
+ * var Float64Array = require( '@stdlib/array/float64' );
+ *
+ * var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+ * var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+ * var CNORM = new Float64Array( 3 );
+ *
+ * var scale = dlatrs( 'row-major', 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, X, CNORM );
+ * // returns 1.0
+ * // X => [ 5.0, 0.0, 5.0 ]
+ * // CNORM => [ 0.0, 1.0, 3.0 ]
+ */
+ ( order: Layout, uplo: MatrixTriangle, trans: TransposeOperation, diag: DiagonalType, normin: Normin, N: number, A: Float64Array, LDA: number, X: Float64Array, CNORM: Float64Array ): number;
+
+ /**
+ * Solves a triangular system of equations with the scale factor set to prevent overflow using alternative indexing semantics.
+ *
+ * @param uplo - specifies whether `A` is an upper or lower triangular matrix
+ * @param trans - specifies whether `A` should be transposed or not transposed
+ * @param diag - specifies whether `A` has a unit diagonal
+ * @param normin - specifies whether `CNORM` has been set or not
+ * @param N - number of rows/columns in `A`
+ * @param A - input matrix
+ * @param strideA1 - stride of the first dimension of `A`
+ * @param strideA2 - stride of the second dimension of `A`
+ * @param offsetA - starting index for `A`
+ * @param X - input vector, specifies the right hand side vector of the equation
+ * @param strideX - stride length for `X`
+ * @param offsetX - starting index for `X`
+ * @param CNORM - used to store the column norms
+ * @param strideCNORM - stride length for `CNORM`
+ * @param offsetCNORM - starting index for `CNORM`
+ * @returns permuted matrix `A`
+ *
+ * @example
+ * var Float64Array = require( '@stdlib/array/float64' );
+ *
+ * var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+ * var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+ * var CNORM = new Float64Array( 3 );
+ *
+ * var scale = dlatrs.ndarray( 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, 1, 0, X, 1, 0, CNORM, 1, 0 );
+ * // returns 1.0
+ * // X => [ 5.0, 0.0, 5.0 ]
+ * // CNORM => [ 0.0, 1.0, 3.0 ]
+ */
+ ndarray( uplo: MatrixTriangle, trans: TransposeOperation, diag: DiagonalType, normin: Normin, N: number, A: Float64Array, strideA1: number, strideA2: number, offsetA: number, X: Float64Array, strideX: number, offsetX: number, CNORM: Float64Array, strideCNORM: number, offsetCNORM: number ): number;
+}
+
+/**
+* Solves a triangular system of equations with the scale factor set to prevent overflow.
+*
+* @param order - storage layout
+* @param uplo - specifies whether `A` is an upper or lower triangular matrix
+* @param trans - specifies whether `A` should be transposed or not transposed
+* @param diag - specifies whether `A` has a unit diagonal
+* @param normin - specifies whether `CNORM` has been set or not
+* @param N - number of rows/columns in `A`
+* @param A - input matrix
+* @param LDA - stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`)
+* @param X - input vector, specifies the right hand side vector of the equation
+* @param CNORM - used to store the column norms
+* @returns permuted matrix `A`
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+* var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+* var CNORM = new Float64Array( 3 );
+*
+* var scale = dlatrs( 'row-major', 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, X, CNORM );
+* // returns 1.0
+* // X => [ 5.0, 0.0, 5.0 ]
+* // CNORM => [ 0.0, 1.0, 3.0 ]
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+* var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+* var CNORM = new Float64Array( 3 );
+*
+* var scale = dlatrs.ndarray( 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, 1, 0, X, 1, 0, CNORM, 1, 0 );
+* // returns 1.0
+* // X => [ 5.0, 0.0, 5.0 ]
+* // CNORM => [ 0.0, 1.0, 3.0 ]
+*/
+declare var dlatrs: Routine;
+
+
+// EXPORTS //
+
+export = dlatrs;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/types/test.ts b/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/types/test.ts
new file mode 100644
index 000000000000..18cad3e2259b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/docs/types/test.ts
@@ -0,0 +1,480 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+import dlatrs = require( './index' );
+
+
+// TESTS //
+
+// The function returns a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectType number
+}
+
+// The compiler throws an error if the function is provided a first argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 5, 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( true, 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( false, 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( null, 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( void 0, 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( [], 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( {}, 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( ( x: number ): number => x, 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+}
+// The compiler throws an error if the function is provided a second argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 5, 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', true, 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', false, 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', null, 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', void 0, 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', [], 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', {}, 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', ( x: number ): number => x, 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a third argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 5, 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', true, 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', false, 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', null, 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', void 0, 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', [], 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', {}, 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', ( x: number ): number => x, 'non-unit', 'no', 2, A, 2, X, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourth argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 5, 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', true, 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', false, 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', null, 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', void 0, 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', [], 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', {}, 'no', 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', ( x: number ): number => x, 'no', 2, A, 2, X, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fifth argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 5, 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', true, 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', false, 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', null, 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', void 0, 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', [], 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', {}, 2, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', ( x: number ): number => x, 2, A, 2, X, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a sixth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', '2', A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', true, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', false, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', null, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', void 0, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', [], A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', {}, A, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', ( x: number ): number => x, A, 2, X, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a seventh argument which is not a Float64Array...
+{
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, 'A', 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, 5, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, true, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, false, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, null, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, void 0, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, [], 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, {}, 2, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, ( x: number ): number => x, 2, X, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an eighth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, '2', X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, true, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, false, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, null, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, void 0, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, [], X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, {}, X, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, ( x: number ): number => x, X, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a ninth argument which is not a Float64Array...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 'X', CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 5, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, true, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, false, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, null, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, void 0, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, [], CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, {}, CNORM ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, ( x: number ): number => x, CNORM ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a tenth argument which is not a Float64Array...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, 'CNORM' ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, 5 ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, true ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, false ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, null ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, void 0 ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, [] ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, {} ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an unsupported number of arguments...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs(); // $ExpectError
+ dlatrs( 'row-major' ); // $ExpectError
+ dlatrs( 'row-major', 'lower' ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose' ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit' ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no' ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2 ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2 ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X ); // $ExpectError
+ dlatrs( 'row-major', 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, X, CNORM, 1 ); // $ExpectError
+}
+
+// Attached to main export is an `ndarray` method which returns a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectType number
+}
+
+// The compiler throws an error if the function is provided a first argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 5, 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( true, 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( false, 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( null, 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( void 0, 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( [], 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( {}, 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( ( x: number ): number => x, 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a second argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 5, 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', true, 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', false, 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', null, 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', void 0, 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', [], 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', {}, 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', ( x: number ): number => x, 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a third argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 2, 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', true, 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', false, 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', null, 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', void 0, 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', [], 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', {}, 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', ( x: number ): number => x, 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourth argument which is not a string...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 2, 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', true, 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', false, 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', null, 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', void 0, 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', [], 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', {}, 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', ( x: number ): number => x, 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fifth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', '2', A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', true, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', false, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', null, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', void 0, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', [], A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', {}, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', ( x: number ): number => x, A, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a sixth argument which is not a Float64Array...
+{
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, 'A', 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, 5, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, true, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, false, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, null, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, void 0, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, [], 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, {}, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, ( x: number ): number => x, 2, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a seventh argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, '2', 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, true, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, false, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, null, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, void 0, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, [], 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, {}, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, ( x: number ): number => x, 1, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an eighth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, '1', 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, true, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, false, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, null, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, void 0, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, [], 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, {}, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, ( x: number ): number => x, 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a ninth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, '0', X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, true, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, false, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, null, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, void 0, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, [], X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, {}, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, ( x: number ): number => x, X, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a tenth argument which is not a Float64Array...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, 'X', 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, 5, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, true, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, false, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, null, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, void 0, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, [], 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, {}, 1, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, ( x: number ): number => x, 1, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an eleventh argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, '1', 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, true, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, false, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, null, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, void 0, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, [], 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, {}, 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, ( x: number ): number => x, 0, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a twelvth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, '0', CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, true, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, false, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, null, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, void 0, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, [], CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, {}, CNORM, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, ( x: number ): number => x, CNORM, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a thirteenth argument which is not a Float64Array...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, 'CNORM', 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, 5, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, true, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, false, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, null, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, void 0, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, [], 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, {}, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, ( x: number ): number => x, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourteenth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, '1', 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, true, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, false, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, null, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, void 0, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, [], 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, {}, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, ( x: number ): number => x, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fifteenth argument which is not a number...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, '0' ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, true ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, false ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, null ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, void 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, [] ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, {} ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM, 1, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an unsupported number of arguments...
+{
+ const A = new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
+ const X = new Float64Array( [ 1.0, 2.0 ] );
+ const CNORM = new Float64Array( 2 );
+
+ dlatrs.ndarray(); // $ExpectError
+ dlatrs.ndarray( 'lower' ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose' ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit' ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no' ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0 ); // $ExpectError
+ dlatrs.ndarray( 'lower', 'no-transpose', 'non-unit', 'no', 2, A, 2, 1, 0, X, 1, 0, CNORM ); // $ExpectError
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/examples/index.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/examples/index.js
new file mode 100644
index 000000000000..c268931280d2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/examples/index.js
@@ -0,0 +1,49 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+var Float64Array = require( '@stdlib/array/float64' );
+var numel = require( '@stdlib/ndarray/base/numel' );
+var uniform = require( '@stdlib/random/array/uniform' );
+var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
+var dlatrs = require( './../lib' );
+
+// Specify matrix meta data:
+var shape = [ 3, 3 ];
+var strides = [ 3, 1 ];
+var offset = 0;
+var N = numel( shape );
+var order = 'row-major';
+
+// Create a matrix stored in linear memory:
+var A = uniform( N, 2.0, 10.0, {
+ 'dtype': 'float64'
+});
+
+console.log( ndarray2array( A, shape, strides, offset, order ) );
+
+var X = uniform( shape[ 0 ], 0.0, 10.0, {
+ 'dtype': 'float64'
+});
+
+var CNORM = new Float64Array( shape[ 0 ] );
+
+var scale = dlatrs( order, 'upper', 'no-transpose', 'non-unit', 'no', shape[ 0 ], A, strides[ 0 ], X, CNORM );
+console.log( ndarray2array( A, shape, strides, offset, order ) );
+console.log( 'scaling factor: ', scale );
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/base.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/base.js
new file mode 100644
index 000000000000..9d3f805ede52
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/base.js
@@ -0,0 +1,595 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+/* eslint-disable max-len, max-params, max-depth, max-statements, max-lines-per-function, no-lonely-if, max-lines */
+
+// MODULES //
+
+var dlamch = require( '@stdlib/lapack/base/dlamch' );
+var dtrsv = require( '@stdlib/blas/base/dtrsv' ).ndarray;
+var idamax = require( '@stdlib/blas/base/idamax' ).ndarray;
+var daxpy = require( '@stdlib/blas/base/daxpy' ).ndarray;
+var dscal = require( '@stdlib/blas/base/dscal' ).ndarray;
+var abs = require( '@stdlib/math/base/special/abs' );
+var max = require( '@stdlib/math/base/special/max' );
+var ddot = require( '@stdlib/blas/base/ddot' ).ndarray;
+var min = require( '@stdlib/math/base/special/min' );
+var dasum = require( '@stdlib/blas/base/dasum' ).ndarray;
+var dlange = require( './dlange.js' );
+
+
+// VARIABLES //
+
+var smlnum = dlamch( 'safe minimum' ) / dlamch( 'precision' );
+var bignum = 1.0 / smlnum;
+
+
+// MAIN //
+
+/**
+* Solves a triangular system of equations with the scale factor set to prevent overflow.
+*
+* @private
+* @param {string} uplo - specifies whether `A` is an upper or lower triangular matrix
+* @param {string} trans - specifies whether `A` should be transposed or not transposed
+* @param {string} diag - specifies whether `A` has a unit diagonal
+* @param {string} normin - specifies whether `CNORM` has been set or not
+* @param {NonNegativeInteger} N - number of rows/columns in `A`
+* @param {Float64Array} 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`
+* @param {Float64Array} X - input vector, specifies the right hand side vector of the equation
+* @param {integer} strideX - stride length for `X`
+* @param {NonNegativeInteger} offsetX - starting index for `X`
+* @param {Float64Array} CNORM - used to store the column norms
+* @param {integer} strideCNORM - stride length for `CNORM`
+* @param {NonNegativeInteger} offsetCNORM - starting index for `CNORM`
+* @returns {number} scaling factor
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+* var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+* var CNORM = new Float64Array( 3 );
+*
+* var scale = dlatrs( 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, 1, 0, X, 1, 0, CNORM, 1, 0 );
+* // returns 1.0
+* // X => [ 5.0, 0.0, 5.0 ]
+* // CNORM => [ 0.0, 1.0, 3.0 ]
+*/
+function dlatrs( uplo, trans, diag, normin, N, A, strideA1, strideA2, offsetA, X, strideX, offsetX, CNORM, strideCNORM, offsetCNORM ) {
+ var jfirst;
+ var scale;
+ var jlast;
+ var tscal;
+ var uscal;
+ var GOTO;
+ var jinc;
+ var imax;
+ var tmax;
+ var xmax;
+ var grow;
+ var xbnd;
+ var tjjs;
+ var sumj;
+ var tjj;
+ var rec;
+ var ix1;
+ var ia1;
+ var ia2;
+ var ia;
+ var xj;
+ var ix;
+ var ic;
+ var j;
+ var i;
+
+ scale = 1.0;
+ if ( N === 0 ) {
+ return 1.0;
+ }
+
+ // Compute the 1 norm of each column excluding the diagonal elements
+ if ( normin === 'no' ) {
+ if ( uplo === 'upper' ) { // upper triangular
+ ic = offsetCNORM;
+ ia = offsetA;
+ for ( j = 0; j < N; j++ ) {
+ CNORM[ ic ] = dasum( j, A, strideA1, ia );
+ ia += strideA2;
+ ic += strideCNORM;
+ }
+ } else { // lower triangular
+ ic = offsetCNORM;
+ ia = offsetA + strideA1; // follows A( j+1, j )
+ for ( j = 0; j < N - 1; j++ ) {
+ CNORM[ ic ] = dasum( N - ( j + 1 ), A, strideA1, ia );
+ ic += strideCNORM;
+ ia += strideA1 + strideA2;
+ }
+ CNORM[ ic ] = 0.0;
+ }
+ }
+
+ // Scale the column norms by `tscal` if the maximum element in `CNORM` is greater than `bignum`
+ imax = idamax( N, CNORM, strideCNORM, offsetCNORM );
+ tmax = CNORM[ offsetCNORM + ( imax * strideCNORM ) ];
+ if ( tmax <= bignum ) {
+ // All entries in `CNORM` are valid floating point numbers...
+ tscal = 1.0;
+ } else {
+ // At least one entry in `CNORM` can't be represented as a floating point number. Find the largest off diagonal element, if this is not `Infinity` use it as `tscal`...
+ if ( tmax <= dlamch( 'overflow' ) ) {
+ tscal = 1.0 / ( smlnum * tmax );
+ dscal( N, tscal, CNORM, strideCNORM, offsetCNORM );
+ } else {
+ tmax = 0.0;
+ if ( uplo === 'upper' ) {
+ // Upper triangular
+ ia = offsetA + strideA2;
+ for ( j = 1; j < N; j++ ) {
+ tmax = max( dlange( 'max', j, 1, A, strideA1, strideA2, ia ), tmax );
+ ia += strideA2;
+ }
+ } else {
+ // Lower triangular
+ ia = offsetA + strideA1;
+ for ( j = 0; j < N - 1; j++ ) {
+ tmax = max( dlange( 'max', N - ( j + 1 ), 1, A, strideA1, strideA2, ia ), tmax );
+ ia += strideA1 + strideA2;
+ }
+ }
+
+ if ( tmax <= dlamch( 'overflow' ) ) {
+ tscal = 1.0 / ( smlnum * tmax );
+ ic = offsetCNORM;
+ ia2 = offsetA;
+ for ( j = 0; j < N; j++ ) {
+ if ( CNORM[ ic ] <= dlamch( 'overflow' ) ) {
+ CNORM[ ic ] *= tscal;
+ } else {
+ // Recompute the 1 norm without introducing infinity in the summation
+ CNORM[ ic ] = 0.0;
+ if ( uplo === 'upper' ) {
+ ia1 = 0;
+ for ( i = 0; i < j; i++ ) {
+ CNORM[ ic ] += ( tscal * abs( A[ ia1 + ia2 ] ) );
+ ia1 += strideA1;
+ }
+ } else {
+ ia1 = 0;
+ for ( i = j+1; i < N; i++ ) {
+ CNORM[ ic ] += ( tscal * abs( A[ ia1 + ia2 ] ) );
+ ia1 += strideA1;
+ }
+ }
+ }
+ ic += strideCNORM;
+ ia2 += strideA2;
+ }
+ } else {
+ // At least one entry in `A` is not a valid floating point number, use `dtrsv` to propagate `Infinity` and `NaN`
+ dtrsv( uplo, trans, diag, N, A, strideA1, strideA2, offsetA, X, strideX, offsetX );
+ return scale;
+ }
+ }
+ }
+
+ // Compute the bound on the computed solution vector to see if `dtrsv` can be used.
+ j = idamax( N, X, strideX, offsetX );
+ xmax = abs( X[ offsetX + ( j * strideX ) ] );
+ xbnd = xmax;
+
+ if ( trans === 'no-transpose' ) {
+ // Compute the growth in A * X = B
+ if ( uplo === 'upper' ) {
+ jfirst = N - 1;
+ jlast = 0;
+ jinc = -1;
+ } else {
+ jfirst = 0;
+ jlast = N - 1;
+ jinc = 1;
+ }
+
+ GOTO = false;
+ if ( tscal !== 1.0 ) {
+ grow = 0.0;
+ GOTO = true;
+ }
+
+ if ( !GOTO ) {
+ if ( diag === 'non-unit' ) {
+ /*
+ A is non-unit and triangular
+ Compute `grow` = 1 / G( j ), `xbnd` = 1 / M( j ). Initially G( 0 ) = max( X( i ), for 0 <= i < N )
+ */
+ grow = 1.0 / max( xbnd, smlnum );
+ xbnd = grow;
+ ic = offsetCNORM + ( jfirst * strideCNORM );
+ ia = offsetA + ( jfirst * ( strideA1 + strideA2 ) );
+ for ( j = jfirst; (jinc > 0) ? j <= jlast : j >= jlast; j += jinc ) {
+ if ( grow <= smlnum ) {
+ // Exit the loop if the growth factor is very small.
+ GOTO = true;
+ break;
+ }
+
+ // M( j ) = G( j - 1 ) / abs( A( j, j ) )
+ tjj = abs( A[ ia ] );
+ xbnd = min( xbnd, min( 1.0, tjj ) * grow );
+ if ( tjj + CNORM[ ic ] >= smlnum ) {
+ // G( j ) = G( j - 1 ) * ( 1 + CNORM( j ) / abs( A( j, j ) ) )
+ grow *= tjj / ( tjj + CNORM[ ic ] );
+ } else {
+ // G( j ) could overflow, set grow to 0
+ grow = 0.0;
+ }
+
+ ia += jinc * ( strideA1 + strideA2 );
+ ic += jinc * ( strideCNORM );
+ }
+ if ( !GOTO ) {
+ // Control should only reach here if loop exits normally and doesn't "break".
+ grow = xbnd;
+ }
+ } else {
+ /*
+ A is unit and triangular.
+ Compute `grow` = 1 / G( j ), where G( 0 ) = max( X( i ), for 0 <= i < N )
+ */
+ grow = min( 1.0, 1.0 / max( xbnd, smlnum ) );
+ ic = offsetCNORM + ( jfirst * strideCNORM );
+ for ( j = jfirst; (jinc > 0) ? j <= jlast : j >= jlast; j+= jinc ) {
+ if ( grow <= smlnum ) {
+ // Exit the loop if the growth factor is too small.
+ break;
+ }
+ // G( j ) = G( j - 1 ) * ( 1 + CNORM( j ) )
+ grow *= 1.0 / ( 1.0 + CNORM[ ic ] );
+ ic += strideCNORM;
+ }
+ }
+ }
+ } else {
+ // Compute the growth in A^T * X = B
+ if ( uplo === 'upper' ) {
+ jfirst = 0;
+ jlast = N-1;
+ jinc = 1;
+ } else {
+ jfirst = N-1;
+ jlast = 0;
+ jinc = -1;
+ }
+
+ GOTO = false;
+ if ( tscal !== 1.0 ) {
+ grow = 0.0;
+ GOTO = true;
+ }
+
+ if ( !GOTO ) {
+ if ( diag === 'non-unit' ) {
+ /*
+ A is non-unit triangular.
+ Compute grow = 1 / G( j ) and xbnd = 1 / M( j ). Initially, M( 0 ) = max( X( i ), for 0 <= i < N )
+ */
+ grow = 1.0 / max( xbnd, smlnum );
+ xbnd = grow;
+ ia = offsetA + ( jfirst * ( strideA1 + strideA2 ) ); // tracks A( j, j )
+ ic = offsetCNORM + ( jfirst * strideCNORM ); // tracks CNORM( j )
+
+ for ( j = jfirst; (jinc > 0) ? j <= jlast : j >= jlast; j+=jinc ) {
+ if ( grow <= smlnum ) {
+ // Exit the loop if grow is too small.
+ GOTO = true;
+ break;
+ }
+
+ // G( j ) = max( G( j - 1 ), M( j - 1 ) * ( 1 + CNORM( j ) ) )
+ xj = 1.0 + CNORM[ ic ];
+ grow = min( grow, xbnd / xj );
+
+ // M( j ) = M( j - 1 ) * ( 1 + CNORM( j ) ) / abs( A( j, j ) )
+ tjj = abs( A[ ia ] );
+ if ( xj > tjj ) {
+ xbnd *= ( tjj / xj );
+ }
+
+ ic += jinc * strideCNORM;
+ ia += jinc * ( strideA1 + strideA2 );
+ }
+ if ( !GOTO ) {
+ grow = min( grow, xbnd );
+ }
+ } else {
+ /*
+ A is unit triangular
+ Compute GROW = 1 / G( j ), where G( 0 ) = max( X( i ), for 0 <= i < N )
+ */
+ grow = min( 1.0, 1.0 / max( xbnd, smlnum ) );
+ ic = offsetCNORM + ( jfirst * strideCNORM );
+ for ( j = jfirst; (jinc > 0) ? j <= jlast : j >= jlast; j += jinc ) {
+ if ( grow <= smlnum ) {
+ // Exit the loop if the growth factor is too small
+ break;
+ }
+
+ // G( j ) = ( 1 + CNORM( j ) ) * G( j - 1 )
+ xj = 1.0 + CNORM[ ic ];
+ grow /= xj;
+
+ ic += jinc * strideCNORM;
+ }
+ }
+ }
+ }
+
+ if ( grow * tscal > smlnum ) {
+ // Use the Level 2 BLAS solve if the reciprocal of the bound on elements of X is not too small.
+ dtrsv( uplo, trans, diag, N, A, strideA1, strideA2, offsetA, X, strideX, offsetX );
+ } else {
+ // Use a Level 1 BLAS solve, scaling intermediate results.
+
+ if ( xmax > bignum ) {
+ // Scale X so that its components are less than or equal to bignum in absolute value.
+ scale = bignum / xmax;
+ dscal( N, scale, X, strideX, offsetX );
+ xmax = bignum;
+ }
+
+ if ( trans === 'no-transpose' ) {
+ // Solve A * X = B
+ ix = offsetX + ( jfirst * strideX ); // tracks X( j )
+ ia = offsetA + ( jfirst * ( strideA1 + strideA2 ) ); // tracks A( j, j )
+ ia1 = offsetA + ( jfirst * strideA2 ); // tracks A( 1, j )
+ ic = offsetCNORM + ( jfirst * strideCNORM ); // tracks CNORM( j )
+
+ for ( j = jfirst; (jinc > 0) ? j <= jlast : j >= jlast; j += jinc ) {
+ // Compute X( j ) = B( j ) / A( j, j ), scaling X if necessary.
+ xj = abs( X[ ix ] );
+ GOTO = false;
+ if ( diag === 'non-unit' ) {
+ tjjs = A[ ia ] * tscal;
+ } else {
+ tjjs = tscal;
+ if ( tscal === 1.0 ) {
+ GOTO = true;
+ }
+ }
+
+ if ( !GOTO ) {
+ tjj = abs( tjjs );
+ if ( tjj > smlnum ) { // abs( A( j, j ) ) > smlnum
+ if ( tjj < 1.0 ) {
+ if ( xj > tjj * bignum ) {
+ rec = 1.0 / xj;
+ dscal( N, rec, X, strideX, offsetX );
+ scale *= rec;
+ xmax *= rec;
+ }
+ }
+ X[ ix ] /= tjjs;
+ xj = abs( X[ ix ] );
+ } else if ( tjj > 0.0 ) {
+ // 0 < abs( A( j, j ) ) <= smlnum
+ if ( xj > tjj * bignum ) {
+ // Scale X by ( 1 / abs( X( j ) ) ) * abs( A( j, j ) ) * bignum to avoid overflow when dividing by A( j, j ).
+ rec = ( tjj * bignum ) / xj;
+ if ( CNORM[ ic ] > 1.0 ) {
+ // Scale by 1 / CNORM( j ) to avoid overflow when multiplying X( j ) times column j
+ rec /= CNORM[ ic ];
+ }
+ dscal( N, rec, X, strideX, offsetX );
+ scale *= rec;
+ xmax *= rec;
+ }
+ X[ ix ] /= tjjs;
+ xj = abs( X[ ix ] );
+ } else {
+ // A( j, j ) = 0: Set X( 1 : N ) = 0, x( j ) = 1, and scale = 0, and compute a solution to A * X = 0
+ ix1 = offsetX;
+ for ( i = 0; i < N; i++ ) {
+ X[ ix1 ] = 0.0;
+ ix1 += strideX;
+ }
+ scale = 0.0;
+ xmax = 0.0;
+ }
+ }
+
+ // Scale X if necessary to avoid overflow when adding a multiple of column j of A
+ if ( xj > 1.0 ) {
+ rec = 1.0 / xj;
+ if ( CNORM[ ic ] > ( bignum - xmax ) * rec ) {
+ // Scale X by 1 / ( 2 * abs( X( j ) ) )
+ rec *= 0.5;
+ dscal( N, rec, X, strideX, offsetX );
+ scale *= rec;
+ }
+ } else if ( xj * CNORM[ ic ] > ( bignum - xmax ) ) {
+ // Scale X by 0.5
+ dscal( N, 0.5, X, strideX, offsetX );
+ scale *= 0.5;
+ }
+
+ if ( uplo === 'upper' ) {
+ if ( j > 0 ) {
+ // Compute the update X( 1 : j - 1 ) := X( 1 : j - 1 ) - X( j ) * A( 1 : j - 1, j )
+ daxpy( j, -1 * tscal * X[ ix ], A, strideA1, ia1, X, strideX, offsetX );
+ }
+ i = idamax( j, X, strideX, offsetX );
+ xmax = abs( X[ offsetX + ( i * strideX ) ] );
+ } else {
+ if ( j < N - 1 ) {
+ // Compute the update X( j + 1 : N ) := X( j + 1 : N ) - X( j ) * A( j + 1 : N , j )
+ daxpy( N - ( j + 1 ), -1 * tscal * X[ ix ], A, strideA1, ia + strideA1, X, strideX, ix + strideX );
+ i = idamax( N - ( j + 1 ), X, strideX, ix + strideX );
+ xmax = abs( X[ offsetX + ( i * strideX ) ] );
+ }
+ }
+
+ ix += jinc * strideX;
+ ia += jinc * ( strideA1 + strideA2 );
+ ia1 += jinc * strideA2;
+ ic += jinc * strideCNORM;
+ }
+ } else {
+ // Solve A ^ T * X = B
+ ix = offsetX + ( jfirst * strideX ); // tracks X( j )
+ ia = offsetA + ( jfirst * ( strideA1 + strideA2 ) ); // tracks A( j, j )
+ ia1 = offsetA + ( jfirst * strideA2 ); // tracks A( 1, j )
+ ic = offsetCNORM + ( jfirst * strideCNORM ); // tracks CNORM( j )
+ for ( j = jfirst; (jinc > 0) ? j <= jlast : j >= jlast; j += jinc ) {
+ // Compute X( j ) = B( j ) - sum A( k , j ) * X( k ).
+ xj = abs( X[ ix ] );
+ uscal = tscal;
+ rec = 1.0 / max( xmax, 1.0 );
+ if ( CNORM[ ic ] > ( bignum - xj ) * rec ) {
+ // If X( j ) could overflow, scale X by 1 / ( 2 * xmax ).
+ rec *= 0.5;
+ if ( diag === 'non-unit' ) {
+ tjjs = A[ ia ] * tscal;
+ } else {
+ tjjs = tscal;
+ }
+ tjj = abs( tjjs );
+ if ( tjj > 1.0 ) {
+ // Divide by A( j, j ) when scaling X if A( j, j ) > 1
+ rec = min( 1.0, rec * tjj );
+ uscal /= tjjs;
+ }
+ if ( rec < 1.0 ) {
+ dscal( N, rec, X, strideX, offsetX );
+ scale *= rec;
+ xmax *= rec;
+ }
+ }
+
+ sumj = 0.0;
+ if ( uscal === 1.0 ) {
+ // If the scaling needed for A in the dot product is 1, call ddot to perform the dot product
+ if ( uplo === 'upper' ) {
+ sumj = ddot( j, A, strideA1, ia1, X, strideX, offsetX );
+ } else {
+ sumj = ddot( N - ( j + 1 ), A, strideA1, ia + strideA1, X, strideX, ix + strideX );
+ }
+ } else {
+ // Otherwise, use in-line code for the dot product
+ if ( uplo === 'upper' ) {
+ ia2 = 0;
+ ix1 = offsetX;
+ for ( i = 0; i < j; i++ ) {
+ sumj += A[ ia1 + ia2 ] * uscal * X[ ix1 ];
+ ia2 += strideA1;
+ ix1 += strideX;
+ }
+ } else {
+ ia2 = ( j + 1 ) * strideA1;
+ ix1 = offsetX + ( ( j + 1 ) * strideX );
+ for ( i = j + 1; i < N; i++ ) {
+ sumj += A[ ia1 + ia2 ] * uscal * X[ ix1 ];
+ ia2 += strideA1;
+ ix1 += strideX;
+ }
+ }
+ }
+
+ if ( uscal === tscal ) {
+ X[ ix ] -= sumj;
+ xj = abs( X[ ix ] );
+ if ( diag === 'non-unit' ) {
+ tjjs = A[ ia ] * tscal;
+ } else {
+ tjjs = tscal;
+ GOTO = false;
+ if ( tscal === 1.0 ) {
+ GOTO = true;
+ }
+ }
+
+ if ( !GOTO ) {
+ // Compute X( j ) = X( j ) / A( j, j ), scaling if necessary
+ tjj = abs( tjjs );
+ if ( tjj > smlnum ) {
+ // abs( A( j, j ) ) > smlnum
+ if ( tjj < 1.0 ) {
+ if ( xj > tjj * bignum ) {
+ // Scale X by 1 / abs( X( j ) )
+ rec = 1.0 / xj;
+ dscal( N, rec, X, strideX, offsetX );
+ scale *= rec;
+ xmax *= rec;
+ }
+ }
+ X[ ix ] /= tjjs;
+ } else if ( tjj > 0.0 ) {
+ // 0 < abs( A( j, j ) ) <= smlnum
+ if ( xj > tjj * bignum ) {
+ // Scale X by ( 1 / abs( X( j ) ) ) * abs( A( j, j ) ) * bignum
+ rec = tjj * bignum / xj;
+ dscal( N, rec, X, strideX, offsetX );
+ xmax *= rec;
+ scale *= rec;
+ }
+ X[ ix ] /= tjjs;
+ } else {
+ // A( j, j ) = 0: Set X( 1 : N ) = 0, X( j ) = 1, and scale = 0, and compute a solution to A^T * X = 0
+ ix1 = offsetX;
+ for ( i = 0; i < N; i++ ) {
+ X[ ix1 ] = 0.0;
+ ix1 += strideX;
+ }
+ X[ ix ] = 1.0;
+ scale = 0.0;
+ xmax = 0.0;
+ }
+ }
+ } else {
+ // Compute X( j ) := X( j ) / A( j, j ) - sumj if the dot product has already been divided by 1 / A( j, j )
+ X[ ix ] = ( X[ ix ] / tjjs ) - sumj;
+ }
+
+ xmax = max( xmax, abs( X[ ix ] ) );
+
+ ix += jinc * strideX;
+ ia += jinc * ( strideA1 + strideA2 );
+ ia1 += jinc * strideA2;
+ ic += jinc * strideCNORM;
+ }
+ }
+ scale /= tscal;
+ }
+
+ // Scale the column norms by 1 / tscal for return
+ if ( tscal !== 1.0 ) {
+ dscal( N, 1.0 / tscal, CNORM, strideCNORM, offsetCNORM );
+ }
+
+ return scale;
+}
+
+
+// EXPORTS //
+
+module.exports = dlatrs;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/dlange.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/dlange.js
new file mode 100644
index 000000000000..45fe1aca8f5a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/dlange.js
@@ -0,0 +1,362 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var isnan = require( '@stdlib/math/base/assert/is-nan' );
+var dlassq = require( '@stdlib/lapack/base/dlassq' ).ndarray;
+var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' );
+var loopOrder = require( '@stdlib/ndarray/base/nullary-loop-interchange-order' );
+var dasum = require( '@stdlib/blas/base/dasum' ).ndarray;
+var Float64Array = require( '@stdlib/array/float64' );
+var min = require( '@stdlib/math/base/special/min' );
+var sqrt = require( '@stdlib/math/base/special/sqrt' );
+var abs = require( '@stdlib/math/base/special/abs' );
+
+
+// FUNCTIONS //
+
+/**
+* Returns the value of the one norm of a real matrix `A`.
+*
+* @private
+* @param {NonNegativeInteger} M - number of rows in `A`
+* @param {NonNegativeInteger} N - number of columns in `A`
+* @param {Float64Array} A - input array
+* @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 of `A`
+* @param {Float64Array} work - work array, should have `N` indexed elements if row-major layout is used
+* @param {integer} strideWork - stride length of `work`
+* @param {NonNegativeInteger} offsetWork - starting index of `work`
+* @returns {number} required norm value
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 1.0, 4.0, 7.0, 10.0, 2.0, 5.0, 8.0, 11.0, 3.0, 6.0, 9.0, 12.0 ] );
+* var work = new Float64Array( 4 );
+*
+* var out = oneNorm( 3, 4, A, 4, 1, 0, work, 1, 0 );
+* // returns 33.0
+*/
+function oneNorm( M, N, A, strideA1, strideA2, offsetA, work, strideWork, offsetWork ) { // eslint-disable-line max-len
+ var value;
+ var temp;
+ var ia1;
+ var ia2;
+ var sum;
+ var iw;
+ var i;
+ var j;
+
+ if ( isRowMajor( [ strideA1, strideA2 ] ) ) {
+ iw = offsetWork;
+ for ( i = 0; i < N; i++ ) {
+ work[ iw ] = 0.0;
+ iw += strideWork;
+ }
+
+ ia1 = offsetA;
+ for ( j = 0; j < M; j++ ) {
+ ia2 = 0;
+ iw = offsetWork;
+ for ( i = 0; i < N; i++ ) {
+ work[ iw ] += abs( A[ ia1 + ia2 ] );
+ iw += strideWork;
+ ia2 += strideA2;
+ }
+ ia1 += strideA1;
+ }
+
+ value = 0.0;
+
+ iw = offsetWork;
+ for ( i = 0; i < N; i++ ) {
+ temp = work[ iw ];
+ if ( value < temp || isnan( temp ) ) {
+ value = temp;
+ }
+ iw += strideWork;
+ }
+ } else {
+ value = 0.0;
+ ia1 = offsetA;
+ for ( j = 0; j < N; j++ ) {
+ sum = dasum( M, A, strideA1, ia1 );
+ if ( value < sum || isnan( sum ) ) {
+ value = sum;
+ }
+ ia1 += strideA2;
+ }
+ }
+
+ return value;
+}
+
+/**
+* Returns the absolute value of the maximum element of a real matrix `A`.
+*
+* @private
+* @param {NonNegativeInteger} M - number of rows in `A`
+* @param {NonNegativeInteger} N - number of columns in `A`
+* @param {Float64Array} A - input array
+* @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 of `A`
+* @returns {number} required norm value
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 1.0, 4.0, 7.0, 10.0, 2.0, 5.0, 8.0, 11.0, 3.0, 6.0, 9.0, 12.0 ] );
+*
+* var out = maxAbs( 3, 4, A, 4, 1, 0 );
+* // returns 12.0
+*/
+function maxAbs( M, N, A, strideA1, strideA2, offsetA ) {
+ var value;
+ var temp;
+ var da0;
+ var da1;
+ var ia;
+ var sa;
+ var sh;
+ var S0;
+ var S1;
+ var o;
+ var i;
+ var j;
+
+ value = 0.0;
+
+ // Resolve the loop interchange order:
+ o = loopOrder( [ M, N ], [ strideA1, strideA2 ] );
+ sh = o.sh;
+ sa = o.sx;
+ S0 = sh[ 0 ];
+ S1 = sh[ 1 ];
+ da0 = sa[ 0 ];
+ da1 = sa[ 1 ] - ( S0*sa[0] );
+ ia = offsetA;
+
+ for ( i = 0; i < S1; i++ ) {
+ for ( j = 0; j < S0; j++ ) {
+ temp = A[ ia ];
+ if ( value < temp || isnan( temp ) ) {
+ value = temp;
+ }
+ ia += da0;
+ }
+ ia += da1;
+ }
+ return value;
+}
+
+/**
+* Returns the value of the infinity norm of a real matrix `A`.
+*
+* @private
+* @param {NonNegativeInteger} M - number of rows in `A`
+* @param {NonNegativeInteger} N - number of columns in `A`
+* @param {Float64Array} A - input array
+* @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 of `A`
+* @param {Float64Array} work - work array, should have `M` indexed elements if column-major layout is used
+* @param {integer} strideWork - stride length of `work`
+* @param {NonNegativeInteger} offsetWork - starting index of `work`
+* @returns {number} required norm value
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 1.0, 4.0, 7.0, 10.0, 2.0, 5.0, 8.0, 11.0, 3.0, 6.0, 9.0, 12.0 ] );
+* var work = new Float64Array( 3 );
+*
+* var out = infinityNorm( 3, 4, A, 4, 1, 0, work, 1, 0 );
+* // returns 30.0
+*/
+function infinityNorm( M, N, A, strideA1, strideA2, offsetA, work, strideWork, offsetWork ) { // eslint-disable-line max-len
+ var value;
+ var temp;
+ var sum;
+ var ia1;
+ var ia2;
+ var iw;
+ var i;
+ var j;
+
+ if ( isRowMajor( [ strideA1, strideA2 ] ) ) {
+ value = 0.0;
+ ia1 = offsetA;
+ for ( j = 0; j < M; j++ ) {
+ sum = dasum( N, A, strideA2, ia1 );
+ if ( value < sum || isnan( sum ) ) {
+ value = sum;
+ }
+ ia1 += strideA1;
+ }
+ } else {
+ iw = offsetWork;
+ for ( i = 0; i < M; i++ ) {
+ work[ iw ] = 0.0;
+ iw += strideWork;
+ }
+
+ ia1 = offsetA;
+ for ( j = 0; j < N; j++ ) {
+ ia2 = 0;
+ iw = offsetWork;
+ for ( i = 0; i < M; i++ ) {
+ work[ iw ] += abs( A[ ia1 + ia2 ] );
+ iw += strideWork;
+ ia2 += strideA1;
+ }
+ ia1 += strideA2;
+ }
+
+ value = 0.0;
+
+ iw = offsetWork;
+ for ( i = 0; i < M; i++ ) {
+ temp = work[ iw ];
+ if ( value < temp || isnan( temp ) ) {
+ value = temp;
+ }
+ iw += strideWork;
+ }
+ }
+ return value;
+}
+
+/**
+* Returns the absolute value of the frobenius norm of a real matrix `A`.
+*
+* @private
+* @param {NonNegativeInteger} M - number of rows in `A`
+* @param {NonNegativeInteger} N - number of columns in `A`
+* @param {Float64Array} A - input array
+* @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 of `A`
+* @returns {number} required norm value
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 1.0, 4.0, 7.0, 10.0, 2.0, 5.0, 8.0, 11.0, 3.0, 6.0, 9.0, 12.0 ] );
+*
+* var out = frobeniusNorm( 3, 4, A, 4, 1, 0 );
+* // returns ~25.5
+*/
+function frobeniusNorm( M, N, A, strideA1, strideA2, offsetA ) {
+ var out;
+ var da0;
+ var da1;
+ var S1;
+ var S2;
+ var ia;
+ var i;
+
+ out = new Float64Array( [ 0.0, 1.0 ] );
+
+ if ( isRowMajor( [ strideA1, strideA2 ] ) ) {
+ S1 = M;
+ S2 = N;
+ da0 = strideA2;
+ da1 = strideA1;
+ } else {
+ S1 = N;
+ S2 = M;
+ da0 = strideA1;
+ da1 = strideA2;
+ }
+
+ ia = offsetA;
+ for ( i = 0; i < S1; i++ ) {
+ dlassq( S2, A, da0, ia, out[ 0 ], out[ 1 ], out, 1, 0 );
+ ia += da1;
+ }
+
+ return out[ 0 ] * sqrt( out[ 1 ] );
+}
+
+
+// MAIN //
+
+/**
+* Returns the value of the one norm, or the frobenius norm, or the infinity norm, or the element with the largest absolute value of a real matrix `A`.
+*
+* ## Notes
+*
+* - use `norm` = `max` to calculate the element with the largest absolute value
+* - use `norm` = `one` to calculate the one norm, work should have `N` indexed elements if row-major layout is used
+* - use `norm` = `infinity` to calculate the infinity norm, work should have `M` indexed elements if column-major layout is used
+* - use `norm` = `frobenius` to calculate the frobenius norm
+*
+* @private
+* @param {string} norm - specifies the type of norm to be calculated
+* @param {NonNegativeInteger} M - number of rows in `A`
+* @param {NonNegativeInteger} N - number of columns in `A`
+* @param {Float64Array} A - input array
+* @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 of `A`
+* @param {Float64Array} work - temporary workspace array
+* @param {integer} strideWork - stride length of `work`
+* @param {NonNegativeInteger} offsetWork - starting index of `work`
+* @returns {number} required norm value
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 1.0, 4.0, 7.0, 10.0, 2.0, 5.0, 8.0, 11.0, 3.0, 6.0, 9.0, 12.0 ] );
+* var work = new Float64Array( 3 );
+*
+* var out = dlange( 'frobenius', 3, 4, A, 4, 1, 0, work, 1, 0 );
+* // returns ~25.5
+*/
+function dlange( norm, M, N, A, strideA1, strideA2, offsetA, work, strideWork, offsetWork ) { // eslint-disable-line max-len
+ if ( min( M, N ) === 0 ) {
+ return 0.0;
+ }
+
+ if ( norm === 'max' ) {
+ return maxAbs( M, N, A, strideA1, strideA2, offsetA );
+ }
+
+ if ( norm === 'one' ) {
+ return oneNorm( M, N, A, strideA1, strideA2, offsetA, work, strideWork, offsetWork ); // eslint-disable-line max-len
+ }
+
+ if ( norm === 'infinity' ) {
+ return infinityNorm( M, N, A, strideA1, strideA2, offsetA, work, strideWork, offsetWork ); // eslint-disable-line max-len
+ }
+
+ if ( norm === 'frobenius' ) {
+ return frobeniusNorm( M, N, A, strideA1, strideA2, offsetA );
+ }
+}
+
+
+// EXPORTS //
+
+module.exports = dlange;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/dlatrs.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/dlatrs.js
new file mode 100644
index 000000000000..24edc341a31b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/dlatrs.js
@@ -0,0 +1,104 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
+var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major-string' );
+var isMatrixTriangle = require( '@stdlib/blas/base/assert/is-matrix-triangle' );
+var isDiagonalType = require( '@stdlib/blas/base/assert/is-diagonal-type' );
+var isTransposeOperation = require( '@stdlib/blas/base/assert/is-transpose-operation' );
+var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' );
+var max = require( '@stdlib/math/base/special/max' );
+var format = require( '@stdlib/string/format' );
+var base = require( './base.js' );
+
+
+// MAIN //
+
+/**
+* Solves a triangular system of equations with the scale factor set to prevent overflow.
+*
+* @param {string} order - storage layout
+* @param {string} uplo - specifies whether `A` is an upper or lower triangular matrix
+* @param {string} trans - specifies whether `A` should be transposed or not transposed
+* @param {string} diag - specifies whether `A` has a unit diagonal
+* @param {string} normin - specifies whether `CNORM` has been set or not
+* @param {NonNegativeInteger} N - number of rows/columns in `A`
+* @param {Float64Array} A - input matrix
+* @param {PositiveInteger} LDA - stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`)
+* @param {Float64Array} X - input vector, specifies the right hand side vector of the equation
+* @param {Float64Array} CNORM - used to store the column norms
+* @throws {TypeError} first argument must be a valid order
+* @throws {TypeError} second argument must be a valid matrix triangle
+* @throws {TypeError} third argument must be a valid transpose opeartion
+* @throws {TypeError} fourth argument must be a valid diagonal type
+* @throws {TypeError} fifth argument must be either yes or no
+* @throws {RangeError} eighth argument must be greater than or equal to max(1,N)
+* @returns {number} scaling factor
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+* var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+* var CNORM = new Float64Array( 3 );
+*
+* var scale = dlatrs( 'row-major', 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, X, CNORM );
+* // returns 1.0
+* // X => [ 5.0, 0.0, 5.0 ]
+* // CNORM => [ 0.0, 1.0, 3.0 ]
+*/
+function dlatrs( order, uplo, trans, diag, normin, N, A, LDA, X, CNORM ) {
+ var sa1;
+ var sa2;
+
+ if ( !isLayout( order ) ) {
+ throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
+ }
+ if ( !isMatrixTriangle( uplo ) ) {
+ throw new TypeError( format( 'invalid argument. Second argument must be a valid side. Value: `%s`.', uplo ) );
+ }
+ if ( !isTransposeOperation( trans ) ) {
+ throw new TypeError( format( 'invalid argument. Third argument must be a valid transpose operation. Value: `%s`.', trans ) );
+ }
+ if ( !isDiagonalType( diag ) ) {
+ throw new TypeError( format( 'invalid argument. Fourth argument must be a valid diagonal type. Value: `%s`.', diag ) );
+ }
+ if ( isRowMajor( order ) && LDA < max( 1, N ) ) {
+ throw new RangeError( format( 'invalid argument. Sixth argument must be greater than or equal to max(1,%d). Value: `%d`.', N, LDA ) );
+ }
+ if ( normin !== 'yes' && normin !== 'no' ) {
+ throw new TypeError( format( 'invalid argument. Fifth argument must be either yes or no. Value: `%s`.', normin ) );
+ }
+ if ( isColumnMajor( order ) ) {
+ sa1 = 1;
+ sa2 = LDA;
+ } else { // order === 'row-major'
+ sa1 = LDA;
+ sa2 = 1;
+ }
+ return base( uplo, trans, diag, normin, N, A, sa1, sa2, 0, X, 1, 0, CNORM, 1, 0 ); // eslint-disable-line max-len
+}
+
+
+// EXPORTS //
+
+module.exports = dlatrs;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/index.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/index.js
new file mode 100644
index 000000000000..14249ecf9e44
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/index.js
@@ -0,0 +1,61 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+/**
+* LAPACK routine to solve a triangular system of equations with the scale factor set to prevent overflow.
+*
+* @module @stdlib/lapack/base/dlatrs
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+* var dlatrs = require( '@stdlib/lapack/base/dlatrs' );
+*
+* var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+* var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+* var CNORM = new Float64Array( 3 );
+*
+* var scale = dlatrs( 'row-major', 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, X, CNORM );
+* // returns 1.0
+* // X => [ 5.0, 0.0, 5.0 ]
+* // CNORM => [ 0.0, 1.0, 3.0 ]
+*/
+
+// MODULES //
+
+var join = require( 'path' ).join;
+var tryRequire = require( '@stdlib/utils/try-require' );
+var isError = require( '@stdlib/assert/is-error' );
+var main = require( './main.js' );
+
+
+// MAIN //
+
+var dlatrs;
+var tmp = tryRequire( join( __dirname, './native.js' ) );
+if ( isError( tmp ) ) {
+ dlatrs = main;
+} else {
+ dlatrs = tmp;
+}
+
+
+// EXPORTS //
+
+module.exports = dlatrs;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/main.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/main.js
new file mode 100644
index 000000000000..74831584ee44
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/main.js
@@ -0,0 +1,35 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
+var dlatrs = require( './dlatrs.js' );
+var ndarray = require( './ndarray.js' );
+
+
+// MAIN //
+
+setReadOnly( dlatrs, 'ndarray', ndarray );
+
+
+// EXPORTS //
+
+module.exports = dlatrs;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/ndarray.js
new file mode 100644
index 000000000000..c12823880a6f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/lib/ndarray.js
@@ -0,0 +1,89 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+/* eslint-disable max-len, max-params */
+
+// MODULES //
+
+var isMatrixTriangle = require( '@stdlib/blas/base/assert/is-matrix-triangle' );
+var isDiagonalType = require( '@stdlib/blas/base/assert/is-diagonal-type' );
+var isTransposeOperation = require( '@stdlib/blas/base/assert/is-transpose-operation' );
+var format = require( '@stdlib/string/format' );
+var base = require( './base.js' );
+
+
+// MAIN //
+
+/**
+* Solves a triangular system of equations with the scale factor set to prevent overflow using alternative indexing semantics.
+*
+* @param {string} uplo - specifies whether `A` is an upper or lower triangular matrix
+* @param {string} trans - specifies whether `A` should be transposed or not transposed
+* @param {string} diag - specifies whether `A` has a unit diagonal
+* @param {string} normin - specifies whether `CNORM` has been set or not
+* @param {NonNegativeInteger} N - number of rows/columns in `A`
+* @param {Float64Array} 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`
+* @param {Float64Array} X - input vector, specifies the right hand side vector of the equation
+* @param {integer} strideX - stride length for `X`
+* @param {NonNegativeInteger} offsetX - starting index for `X`
+* @param {Float64Array} CNORM - used to store the column norms
+* @param {integer} strideCNORM - stride length for `CNORM`
+* @param {NonNegativeInteger} offsetCNORM - starting index for `CNORM`
+* @throws {TypeError} first argument must be a valid matrix triangle
+* @throws {TypeError} second argument must be a valid transpose opeartion
+* @throws {TypeError} third argument must be a valid diagonal type
+* @throws {TypeError} fourth argument must be either yes or no
+* @returns {number} scaling factor
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var A = new Float64Array( [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ] ); // => [ [ 2.0, 1.0, -1.0 ], [ 0.0, 3.0, 2.0 ], [ 0.0, 0.0, 4.0 ] ]
+* var X = new Float64Array( [ 5.0, 10.0, 20,0 ] );
+* var CNORM = new Float64Array( 3 );
+*
+* var scale = dlatrs( 'upper', 'no-transpose', 'non-unit', 'no', 3, A, 3, 1, 0, X, 1, 0, CNORM, 1, 0 );
+* // returns 1.0
+* // X => [ 5.0, 0.0, 5.0 ]
+* // CNORM => [ 0.0, 1.0, 3.0 ]
+*/
+function dlatrs( uplo, trans, diag, normin, N, A, strideA1, strideA2, offsetA, X, strideX, offsetX, CNORM, strideCNORM, offsetCNORM ) {
+ if ( !isMatrixTriangle( uplo ) ) {
+ throw new TypeError( format( 'invalid argument. First argument must be a valid side. Value: `%s`.', uplo ) );
+ }
+ if ( !isTransposeOperation( trans ) ) {
+ throw new TypeError( format( 'invalid argument. Second argument must be a valid transpose operation. Value: `%s`.', trans ) );
+ }
+ if ( !isDiagonalType( diag ) ) {
+ throw new TypeError( format( 'invalid argument. Third argument must be a valid diagonal type. Value: `%s`.', diag ) );
+ }
+ if ( normin !== 'yes' && normin !== 'no' ) {
+ throw new TypeError( format( 'invalid argument. Fourth argument must be either yes or no. Value: `%s`.', normin ) );
+ }
+ return base( uplo, trans, diag, normin, N, A, strideA1, strideA2, offsetA, X, strideX, offsetX, CNORM, strideCNORM, offsetCNORM );
+}
+
+
+// EXPORTS //
+
+module.exports = dlatrs;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/package.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/package.json
new file mode 100644
index 000000000000..e02cc149a934
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/package.json
@@ -0,0 +1,72 @@
+{
+ "name": "@stdlib/lapack/base/dlatrs",
+ "version": "0.0.0",
+ "description": "LAPACK routine to solve a triangular system of equations with the scale factor set to prevent overflow.",
+ "license": "Apache-2.0",
+ "author": {
+ "name": "The Stdlib Authors",
+ "url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
+ },
+ "contributors": [
+ {
+ "name": "The Stdlib Authors",
+ "url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
+ }
+ ],
+ "main": "./lib",
+ "directories": {
+ "benchmark": "./benchmark",
+ "doc": "./docs",
+ "example": "./examples",
+ "lib": "./lib",
+ "test": "./test"
+ },
+ "types": "./docs/types",
+ "scripts": {},
+ "homepage": "https://github.com/stdlib-js/stdlib",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/stdlib-js/stdlib.git"
+ },
+ "bugs": {
+ "url": "https://github.com/stdlib-js/stdlib/issues"
+ },
+ "dependencies": {},
+ "devDependencies": {},
+ "engines": {
+ "node": ">=0.10.0",
+ "npm": ">2.7.0"
+ },
+ "os": [
+ "aix",
+ "darwin",
+ "freebsd",
+ "linux",
+ "macos",
+ "openbsd",
+ "sunos",
+ "win32",
+ "windows"
+ ],
+ "keywords": [
+ "stdlib",
+ "stdmath",
+ "mathematics",
+ "math",
+ "lapack",
+ "dlatrs",
+ "interchange",
+ "triangular",
+ "exchange",
+ "permute",
+ "permutedims",
+ "linear",
+ "algebra",
+ "subroutines",
+ "array",
+ "ndarray",
+ "float64",
+ "double",
+ "float64array"
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_off_diagonal_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_off_diagonal_col_major.json
new file mode 100644
index 000000000000..e2fdbb39b912
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_off_diagonal_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 1e292, 1.0, 0.0, 1e292, 1e292, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 1e292, 1e292 ],
+ [ 0.0, 1.0, 1e292 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 1.0, 1.0, 1.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.0000000000000001E+291, -5.0000000000000000E-001, 4.9999999999999997E-293 ],
+ "expectedCNORM": [ 0.0, 1e292, 2e292 ],
+ "scale": 4.9999999999999997E-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_off_diagonal_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_off_diagonal_row_major.json
new file mode 100644
index 000000000000..2a7176e471f4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_off_diagonal_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 1e292, 1e292, 0.0, 1.0, 1e292, 0.0, 0.0, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 1e292, 1e292 ],
+ [ 0.0, 1.0, 1e292 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 1.0, 1.0, 1.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.0000000000000001E+291, -5.0000000000000000E-001, 4.9999999999999997E-293 ],
+ "expectedCNORM": [ 0.0, 1e292, 2e292 ],
+ "scale": 4.9999999999999997E-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/large_off_diagonal_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/large_off_diagonal_col_major.json
new file mode 100644
index 000000000000..9e3570d3e5ee
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/large_off_diagonal_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1e+292,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1e+292,
+ 9999,
+ 1e+292,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+291,
+ 9999,
+ -0.5,
+ 9999,
+ 4.9999999999999997e-293,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1e+292,
+ 9999,
+ 2e+292,
+ 9999
+ ],
+ "scale": 4.9999999999999997e-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/large_off_diagonal_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/large_off_diagonal_row_major.json
new file mode 100644
index 000000000000..2072114342f7
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/large_off_diagonal_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 1e+292,
+ 9999,
+ 1e+292,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 1e+292,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+291,
+ 9999,
+ -0.5,
+ 9999,
+ 4.9999999999999997e-293,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1e+292,
+ 9999,
+ 2e+292,
+ 9999
+ ],
+ "scale": 4.9999999999999997e-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..b442d29c3581
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 1,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 9999,
+ 10,
+ 9999,
+ 20,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5,
+ 9999,
+ 2.5,
+ 9999,
+ 4.375,
+ 9999
+ ],
+ "expectedCNORM": [
+ 2,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..60165810a9ce
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ -1,
+ 9999,
+ 2,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 9999,
+ 10,
+ 9999,
+ 20,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5,
+ 9999,
+ 2.5,
+ 9999,
+ 4.375,
+ 9999
+ ],
+ "expectedCNORM": [
+ 2,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..13edf87a8de0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ -1,
+ 9999,
+ 2,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 9999,
+ 10,
+ 9999,
+ 20,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5,
+ 9999,
+ 0,
+ 9999,
+ 5,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..f12f9511c331
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 1,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 9999,
+ 10,
+ 9999,
+ 20,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5,
+ 9999,
+ 0,
+ 9999,
+ 5,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..eba815a965ec
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 1,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 9999,
+ 5,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 2,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..c1e6f5364a16
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ -1,
+ 9999,
+ 2,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 9999,
+ 5,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 2,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..a605ffb41b4f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ -1,
+ 9999,
+ 2,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 9999,
+ 5,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1.3333333333333333,
+ 9999,
+ 0.5833333333333334,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..e733cdb0f364
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/non_unit_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 9999,
+ 1,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 9999,
+ 5,
+ 9999,
+ 4,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1.3333333333333333,
+ 9999,
+ 0.5833333333333334,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..e74d3f8ff86f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 2,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 0.1,
+ 9999,
+ 4,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0.01,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 1e+308,
+ 9999,
+ 1e+308,
+ 9999,
+ 1e+308,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.5,
+ 9999,
+ -5,
+ 9999,
+ 1900,
+ 9999
+ ],
+ "expectedCNORM": [
+ 5,
+ 9999,
+ 4,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 5e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..63cba1980349
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0.1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 4,
+ 9999,
+ 0.01,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 1e+308,
+ 9999,
+ 1e+308,
+ 9999,
+ 1e+308,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.5,
+ 9999,
+ -5,
+ 9999,
+ 1900,
+ 9999
+ ],
+ "expectedCNORM": [
+ 5,
+ 9999,
+ 4,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 5e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..483978bfebe4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-10,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 1e-20,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 4,
+ 9999,
+ 1e-30,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 1e+300,
+ 9999,
+ 2e+300,
+ 9999,
+ 3e+300,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 7.999999999999998e+60,
+ 9999,
+ -3.9999999999999995e+50,
+ 9999,
+ 9.999999999999999e+29,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 7,
+ 9999
+ ],
+ "scale": 3.333333333333333e-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..3e5297b4654f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-10,
+ 9999,
+ 2,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 1e-20,
+ 9999,
+ 4,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1e-30,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 1e+300,
+ 9999,
+ 2e+300,
+ 9999,
+ 3e+300,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 7.999999999999998e+60,
+ 9999,
+ -3.9999999999999995e+50,
+ 9999,
+ 9.999999999999999e+29,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 7,
+ 9999
+ ],
+ "scale": 3.333333333333333e-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..9e96fa972d91
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-100,
+ 9999,
+ 1,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1e-120,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1e-140,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1e+220,
+ 9999,
+ -1e+120,
+ 9999,
+ 0.3333333333333333,
+ 9999
+ ],
+ "expectedCNORM": [
+ 3,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1.1111111111111112e-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..9c6163d6f338
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-100,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 1e-120,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 3,
+ 9999,
+ 1e-140,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1e+220,
+ 9999,
+ -1e+120,
+ 9999,
+ 0.3333333333333333,
+ 9999
+ ],
+ "expectedCNORM": [
+ 3,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1.1111111111111112e-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..be36fb426e17
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-100,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 5,
+ 9999,
+ 1e-110,
+ 9999,
+ 0,
+ 9999,
+ 7,
+ 9999,
+ 8,
+ 9999,
+ 1e-120,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.2,
+ 9999,
+ -1e+110,
+ 9999,
+ 8e+230,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 5,
+ 9999,
+ 15,
+ 9999
+ ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..691bdd491b91
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_non_unit_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-100,
+ 9999,
+ 5,
+ 9999,
+ 7,
+ 9999,
+ 0,
+ 9999,
+ 1e-110,
+ 9999,
+ 8,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1e-120,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.2,
+ 9999,
+ -1e+110,
+ 9999,
+ 8e+230,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 5,
+ 9999,
+ 15,
+ 9999
+ ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..24685dc02e4b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3e+100,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e-101,
+ 9999,
+ -0.5,
+ 9999,
+ 1.5e+100,
+ 9999
+ ],
+ "expectedCNORM": [
+ 3.0000000000000002e+100,
+ 9999,
+ 3e+100,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..03c39cb1fcb8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1e+100,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e-101,
+ 9999,
+ -0.5,
+ 9999,
+ 1.5e+100,
+ 9999
+ ],
+ "expectedCNORM": [
+ 3.0000000000000002e+100,
+ 9999,
+ 3e+100,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..a25e3849c251
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1e+100,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 1e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+99,
+ 9999,
+ -0.5,
+ 9999,
+ 1.6666666666666668e-101,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1e+100,
+ 9999,
+ 5e+100,
+ 9999
+ ],
+ "scale": 1.6666666666666668e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..3ea655628369
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_no_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3e+100,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 1e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+99,
+ 9999,
+ -0.5,
+ 9999,
+ 1.6666666666666668e-101,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 1e+100,
+ 9999,
+ 5e+100,
+ 9999
+ ],
+ "scale": 1.6666666666666668e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..d2d62550fc71
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 4e+100,
+ 9999,
+ 7e+100,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 8e+100,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2e+100,
+ 9999,
+ -0.5,
+ 9999,
+ 6.25e-102,
+ 9999
+ ],
+ "expectedCNORM": [
+ 1.1e+101,
+ 9999,
+ 8e+100,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 2.0833333333333334e-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..83913261fdd0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 4e+100,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 7e+100,
+ 9999,
+ 8e+100,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2e+100,
+ 9999,
+ -0.5,
+ 9999,
+ 6.25e-102,
+ 9999
+ ],
+ "expectedCNORM": [
+ 1.1e+101,
+ 9999,
+ 8e+100,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 2.0833333333333334e-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..98a3539e4907
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 2e+100,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 3e+100,
+ 9999,
+ 5e+100,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5e-101,
+ 9999,
+ -0.5,
+ 9999,
+ 2.5e+100,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2e+100,
+ 9999,
+ 8e+100,
+ 9999
+ ],
+ "scale": 2.5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..4714baf4dce3
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/scaled_unit_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 5e+100,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 9999,
+ 2e+100,
+ 9999,
+ 3e+100,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5e-101,
+ 9999,
+ -0.5,
+ 9999,
+ 2.5e+100,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2e+100,
+ 9999,
+ 8e+100,
+ 9999
+ ],
+ "scale": 2.5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..541ee0c4e1ad
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 2,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 3,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 5,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..b0554db5f3dc
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ -1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 3,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 5,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..36228fefaf14
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ -1,
+ 9999,
+ 3,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 2,
+ 9999,
+ 4,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 4,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..05e9dafcf23c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_no_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 2,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 2,
+ 9999,
+ 4,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 4,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..7453f51b6987
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_lower_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 4,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 7,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 6,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..50e3a4bdfa24
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_lower_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 4,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ -1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 7,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 6,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..d6192311a465
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_upper_col_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 4,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 2,
+ "strideA2": 6,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 8,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 7,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..9543cfbf103b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/large_strides/unit_trans_upper_row_major.json
@@ -0,0 +1,86 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 9999,
+ 2,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 4,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999
+ ],
+ "strideA1": 6,
+ "strideA2": 2,
+ "offsetA": 0,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 9999,
+ 3,
+ 9999,
+ 8,
+ 9999
+ ],
+ "strideX": 2,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideCNORM": 2,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999
+ ],
+ "expectedCNORM": [
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 7,
+ 9999
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/large_off_diagonal_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/large_off_diagonal_col_major.json
new file mode 100644
index 000000000000..08dc9dcf566d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/large_off_diagonal_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e+292,
+ 1e+292,
+ 1,
+ 1e+292,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 1,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+291,
+ -0.5,
+ 4.9999999999999997e-293
+ ],
+ "expectedCNORM": [
+ 0,
+ 1e+292,
+ 2e+292
+ ],
+ "scale": 4.9999999999999997e-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/large_off_diagonal_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/large_off_diagonal_row_major.json
new file mode 100644
index 000000000000..56e529094c2d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/large_off_diagonal_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1e+292,
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 1,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+291,
+ -0.5,
+ 4.9999999999999997e-293
+ ],
+ "expectedCNORM": [
+ 0,
+ 1e+292,
+ 2e+292
+ ],
+ "scale": 4.9999999999999997e-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..84f5c3eeaa10
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 4,
+ 0,
+ 3,
+ 2,
+ 2,
+ 1,
+ -1
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5,
+ 2.5,
+ 4.375
+ ],
+ "expectedCNORM": [
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..4dfc6ccd6dd3
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ -1,
+ 2,
+ 4,
+ 1,
+ 3,
+ 0,
+ 2,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5,
+ 2.5,
+ 4.375
+ ],
+ "expectedCNORM": [
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..6c53c42a827e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ -1,
+ 2,
+ 4,
+ 1,
+ 3,
+ 0,
+ 2,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5,
+ 0,
+ 5
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..828648d59bae
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 4,
+ 0,
+ 3,
+ 2,
+ 2,
+ 1,
+ -1
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5,
+ 0,
+ 5
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..81777534c002
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 4,
+ 0,
+ 3,
+ 2,
+ 2,
+ 1,
+ -1
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..4572d4f65036
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ -1,
+ 2,
+ 4,
+ 1,
+ 3,
+ 0,
+ 2,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..6d27f3b6fb28
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ -1,
+ 2,
+ 4,
+ 1,
+ 3,
+ 0,
+ 2,
+ 1,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1.3333333333333333,
+ 0.5833333333333334
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..c1cb4b871b35
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/non_unit_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 4,
+ 0,
+ 3,
+ 2,
+ 2,
+ 1,
+ -1
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1.3333333333333333,
+ 0.5833333333333334
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..e321af4334b2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 0.01,
+ 0,
+ 0.1,
+ 4,
+ 1,
+ 2,
+ 3
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 1e+308,
+ 1e+308,
+ 1e+308
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.5,
+ -5,
+ 1900
+ ],
+ "expectedCNORM": [
+ 5,
+ 4,
+ 0
+ ],
+ "scale": 5e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..992af4fa9984
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 3,
+ 4,
+ 0.01,
+ 2,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 1e+308,
+ 1e+308,
+ 1e+308
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.5,
+ -5,
+ 1900
+ ],
+ "expectedCNORM": [
+ 5,
+ 4,
+ 0
+ ],
+ "scale": 5e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..38dbf686c527
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 3,
+ 4,
+ 1e-30,
+ 2,
+ 1e-20,
+ 0,
+ 1e-10,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 1e+300,
+ 2e+300,
+ 3e+300
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 7.999999999999998e+60,
+ -3.9999999999999995e+50,
+ 9.999999999999999e+29
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 3.333333333333333e-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..4402520445e2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1e-30,
+ 0,
+ 1e-20,
+ 4,
+ 1e-10,
+ 2,
+ 3
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 1e+300,
+ 2e+300,
+ 3e+300
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 7.999999999999998e+60,
+ -3.9999999999999995e+50,
+ 9.999999999999999e+29
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 3.333333333333333e-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..6cbe987de18a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1e-140,
+ 0,
+ 1e-120,
+ 3,
+ 1e-100,
+ 1,
+ 2
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1e+220,
+ -1e+120,
+ 0.3333333333333333
+ ],
+ "expectedCNORM": [
+ 3,
+ 3,
+ 0
+ ],
+ "scale": 1.1111111111111112e-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..c80a8f9be0fa
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ 3,
+ 1e-140,
+ 1,
+ 1e-120,
+ 0,
+ 1e-100,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1e+220,
+ -1e+120,
+ 0.3333333333333333
+ ],
+ "expectedCNORM": [
+ 3,
+ 3,
+ 0
+ ],
+ "scale": 1.1111111111111112e-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..fd7363724782
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 7,
+ 8,
+ 1e-120,
+ 5,
+ 1e-110,
+ 0,
+ 1e-100,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.2,
+ -1e+110,
+ 8e+230
+ ],
+ "expectedCNORM": [
+ 0,
+ 5,
+ 15
+ ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..bee9e164184d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_non_unit_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1e-120,
+ 0,
+ 1e-110,
+ 8,
+ 1e-100,
+ 5,
+ 7
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 0.2,
+ -1e+110,
+ 8e+230
+ ],
+ "expectedCNORM": [
+ 0,
+ 5,
+ 15
+ ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..6067d0c54dce
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 3e+100,
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e-101,
+ -0.5,
+ 1.5e+100
+ ],
+ "expectedCNORM": [
+ 3.0000000000000002e+100,
+ 3e+100,
+ 0
+ ],
+ "scale": 5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..a8dfc865144a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2e+100,
+ 3e+100,
+ 1,
+ 1e+100,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e-101,
+ -0.5,
+ 1.5e+100
+ ],
+ "expectedCNORM": [
+ 3.0000000000000002e+100,
+ 3e+100,
+ 0
+ ],
+ "scale": 5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..4c9708b4a2e4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2e+100,
+ 3e+100,
+ 1,
+ 1e+100,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+99,
+ -0.5,
+ 1.6666666666666668e-101
+ ],
+ "expectedCNORM": [
+ 0,
+ 1e+100,
+ 5e+100
+ ],
+ "scale": 1.6666666666666668e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..10ecd4350731
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_no_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 3e+100,
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 5e+99,
+ -0.5,
+ 1.6666666666666668e-101
+ ],
+ "expectedCNORM": [
+ 0,
+ 1e+100,
+ 5e+100
+ ],
+ "scale": 1.6666666666666668e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..88ff29e28376
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 8e+100,
+ 1,
+ 4e+100,
+ 7e+100
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2e+100,
+ -0.5,
+ 6.25e-102
+ ],
+ "expectedCNORM": [
+ 1.1e+101,
+ 8e+100,
+ 0
+ ],
+ "scale": 2.0833333333333334e-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..e9204bbaded1
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 7e+100,
+ 8e+100,
+ 1,
+ 4e+100,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2e+100,
+ -0.5,
+ 6.25e-102
+ ],
+ "expectedCNORM": [
+ 1.1e+101,
+ 8e+100,
+ 0
+ ],
+ "scale": 2.0833333333333334e-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..8eb8d4d335f4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 3e+100,
+ 5e+100,
+ 1,
+ 2e+100,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5e-101,
+ -0.5,
+ 2.5e+100
+ ],
+ "expectedCNORM": [
+ 0,
+ 2e+100,
+ 8e+100
+ ],
+ "scale": 2.5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..f611a1fc291d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/scaled_unit_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 5e+100,
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 2.5e-101,
+ -0.5,
+ 2.5e+100
+ ],
+ "expectedCNORM": [
+ 0,
+ 2e+100,
+ 8e+100
+ ],
+ "scale": 2.5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..4b874b9db01f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ -1,
+ 1,
+ 2,
+ 3
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 3,
+ 3
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 5,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..5d0fd9090d91
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 3,
+ -1,
+ 1,
+ 2,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 3,
+ 3
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 5,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..751dc2b51fa4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ -1,
+ 3,
+ 1,
+ 2,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 2,
+ 4,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 4
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..c7033204975d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_no_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 3,
+ 1,
+ 2,
+ -1
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 2,
+ 4,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 4
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..b93faf0cfbed
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_lower_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ -1,
+ 1,
+ 4,
+ 2
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 7,
+ 0,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 6,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..ac41de0f0e52
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_lower_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 2,
+ -1,
+ 1,
+ 4,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 7,
+ 0,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 6,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..e8f0ed4614a4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_upper_col_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 3,
+ 4,
+ 1,
+ 2,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0
+ ],
+ "strideA1": 1,
+ "strideA2": -3,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 3,
+ 8
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..650daecd6a0e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/mixed_strides/unit_trans_upper_row_major.json
@@ -0,0 +1,65 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 4,
+ 1,
+ 2,
+ 3
+ ],
+ "strideA1": -3,
+ "strideA2": 1,
+ "offsetA": 6,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 3,
+ 8
+ ],
+ "strideX": 1,
+ "offsetX": 0,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/large_off_diagonal_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/large_off_diagonal_col_major.json
new file mode 100644
index 000000000000..396a5720c5ce
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/large_off_diagonal_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 1e+292,
+ 1e+292,
+ 0,
+ 1,
+ 1e+292,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 1,
+ 1
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 4.9999999999999997e-293,
+ -0.5,
+ 5e+291
+ ],
+ "expectedCNORM": [
+ 2e+292,
+ 1e+292,
+ 0
+ ],
+ "scale": 4.9999999999999997e-293,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/large_off_diagonal_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/large_off_diagonal_row_major.json
new file mode 100644
index 000000000000..5459e0286808
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/large_off_diagonal_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ 1e+292,
+ 1,
+ 0,
+ 1e+292,
+ 1e+292,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 1,
+ 1
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 4.9999999999999997e-293,
+ -0.5,
+ 5e+291
+ ],
+ "expectedCNORM": [
+ 2e+292,
+ 1e+292,
+ 0
+ ],
+ "scale": 4.9999999999999997e-293,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..e5e78138f630
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 0,
+ 0,
+ 2,
+ 3,
+ 0,
+ -1,
+ 1,
+ 2
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 20,
+ 10,
+ 5
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 4.375,
+ 2.5,
+ 2.5
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 2
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..891460710e65
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 2,
+ -1,
+ 0,
+ 3,
+ 1,
+ 0,
+ 0,
+ 2
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 20,
+ 10,
+ 5
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 4.375,
+ 2.5,
+ 2.5
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 2
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..2fd73bf79d4c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 2,
+ -1,
+ 0,
+ 3,
+ 1,
+ 0,
+ 0,
+ 2
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 20,
+ 10,
+ 5
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 5,
+ 0,
+ 5
+ ],
+ "expectedCNORM": [
+ 3,
+ 1,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..6c32c0ee2755
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 0,
+ 0,
+ 2,
+ 3,
+ 0,
+ -1,
+ 1,
+ 2
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 20,
+ 10,
+ 5
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 5,
+ 0,
+ 5
+ ],
+ "expectedCNORM": [
+ 3,
+ 1,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..87da47af7c20
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 0,
+ 0,
+ 2,
+ 3,
+ 0,
+ -1,
+ 1,
+ 2
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 4,
+ 5,
+ 2
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 2
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..d1e864c38588
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 2,
+ -1,
+ 0,
+ 3,
+ 1,
+ 0,
+ 0,
+ 2
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 4,
+ 5,
+ 2
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 2,
+ 2
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..865ce1869de6
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 2,
+ -1,
+ 0,
+ 3,
+ 1,
+ 0,
+ 1,
+ 2
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 4,
+ 5,
+ 2
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 0.5833333333333334,
+ 1.3333333333333333,
+ 1
+ ],
+ "expectedCNORM": [
+ 3,
+ 1,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..29cdb72547cd
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/non_unit_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 4,
+ 0,
+ 0,
+ 2,
+ 3,
+ 0,
+ -1,
+ 1,
+ 2
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 4,
+ 5,
+ 2
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 0.5833333333333334,
+ 1.3333333333333333,
+ 1
+ ],
+ "expectedCNORM": [
+ 3,
+ 1,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..6bf0e68ac7a5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0.01,
+ 0,
+ 0,
+ 4,
+ 0.1,
+ 0,
+ 3,
+ 2,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 1e+308,
+ 1e+308,
+ 1e+308
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1900,
+ -5,
+ 0.5
+ ],
+ "expectedCNORM": [
+ 0,
+ 4,
+ 5
+ ],
+ "scale": 5e-309,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..559de217c66e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 0.01,
+ 4,
+ 3,
+ 0,
+ 0.1,
+ 2,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 1e+308,
+ 1e+308,
+ 1e+308
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1900,
+ -5,
+ 0.5
+ ],
+ "expectedCNORM": [
+ 0,
+ 4,
+ 5
+ ],
+ "scale": 5e-309,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..a03b22481b24
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-30,
+ 4,
+ 3,
+ 0,
+ 1e-20,
+ 2,
+ 0,
+ 0,
+ 1e-10
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 3e+300,
+ 2e+300,
+ 1e+300
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 9.999999999999999e+29,
+ -3.9999999999999995e+50,
+ 7.999999999999998e+60
+ ],
+ "expectedCNORM": [
+ 7,
+ 2,
+ 0
+ ],
+ "scale": 3.333333333333333e-301,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..fd7ba4056f28
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-30,
+ 0,
+ 0,
+ 4,
+ 1e-20,
+ 0,
+ 3,
+ 2,
+ 1e-10
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 3e+300,
+ 2e+300,
+ 1e+300
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 9.999999999999999e+29,
+ -3.9999999999999995e+50,
+ 7.999999999999998e+60
+ ],
+ "expectedCNORM": [
+ 7,
+ 2,
+ 0
+ ],
+ "scale": 3.333333333333333e-301,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..e17bc0b6d366
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-140,
+ 0,
+ 0,
+ 3,
+ 1e-120,
+ 0,
+ 2,
+ 1,
+ 1e-100
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 0.3333333333333333,
+ -1e+120,
+ 1e+220
+ ],
+ "expectedCNORM": [
+ 0,
+ 3,
+ 3
+ ],
+ "scale": 1.1111111111111112e-241,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..93385bc69187
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-140,
+ 3,
+ 2,
+ 0,
+ 1e-120,
+ 1,
+ 0,
+ 0,
+ 1e-100
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 0.3333333333333333,
+ -1e+120,
+ 1e+220
+ ],
+ "expectedCNORM": [
+ 0,
+ 3,
+ 3
+ ],
+ "scale": 1.1111111111111112e-241,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..4a51d0940add
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-120,
+ 8,
+ 7,
+ 0,
+ 1e-110,
+ 5,
+ 0,
+ 0,
+ 1e-100
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 8e+230,
+ -1e+110,
+ 0.2
+ ],
+ "expectedCNORM": [
+ 15,
+ 5,
+ 0
+ ],
+ "scale": 2.0000000000000003e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..d095c339b914
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_non_unit_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1e-120,
+ 0,
+ 0,
+ 8,
+ 1e-110,
+ 0,
+ 7,
+ 5,
+ 1e-100
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 8e+230,
+ -1e+110,
+ 0.2
+ ],
+ "expectedCNORM": [
+ 15,
+ 5,
+ 0
+ ],
+ "scale": 2.0000000000000003e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..c91f763b95b9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ 3e+100,
+ 1,
+ 0,
+ 2e+100,
+ 1e+100,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1.5e+100,
+ -0.5,
+ 5e-101
+ ],
+ "expectedCNORM": [
+ 0,
+ 3e+100,
+ 3.0000000000000002e+100
+ ],
+ "scale": 5e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..5652c94ce8ef
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 3e+100,
+ 2e+100,
+ 0,
+ 1,
+ 1e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1.5e+100,
+ -0.5,
+ 5e-101
+ ],
+ "expectedCNORM": [
+ 0,
+ 3e+100,
+ 3.0000000000000002e+100
+ ],
+ "scale": 5e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..d96b8c82e4ea
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 3e+100,
+ 2e+100,
+ 0,
+ 1,
+ 1e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1.6666666666666668e-101,
+ -0.5,
+ 5e+99
+ ],
+ "expectedCNORM": [
+ 5e+100,
+ 1e+100,
+ 0
+ ],
+ "scale": 1.6666666666666668e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..79263d579201
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_no_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ 3e+100,
+ 1,
+ 0,
+ 2e+100,
+ 1e+100,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1.6666666666666668e-101,
+ -0.5,
+ 5e+99
+ ],
+ "expectedCNORM": [
+ 5e+100,
+ 1e+100,
+ 0
+ ],
+ "scale": 1.6666666666666668e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..af9e94eb8a48
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ 8e+100,
+ 1,
+ 0,
+ 7e+100,
+ 4e+100,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 6.25e-102,
+ -0.5,
+ 2e+100
+ ],
+ "expectedCNORM": [
+ 0,
+ 8e+100,
+ 1.1e+101
+ ],
+ "scale": 2.0833333333333334e-202,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..a7d879ca6dbd
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 8e+100,
+ 7e+100,
+ 0,
+ 1,
+ 4e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 6.25e-102,
+ -0.5,
+ 2e+100
+ ],
+ "expectedCNORM": [
+ 0,
+ 8e+100,
+ 1.1e+101
+ ],
+ "scale": 2.0833333333333334e-202,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..114f47db36ff
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 5e+100,
+ 3e+100,
+ 0,
+ 1,
+ 2e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 2.5e+100,
+ -0.5,
+ 2.5e-101
+ ],
+ "expectedCNORM": [
+ 8e+100,
+ 2e+100,
+ 0
+ ],
+ "scale": 2.5e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..b1c5feedc16d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/scaled_unit_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ 5e+100,
+ 1,
+ 0,
+ 3e+100,
+ 2e+100,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 2.5e+100,
+ -0.5,
+ 2.5e-101
+ ],
+ "expectedCNORM": [
+ 8e+100,
+ 2e+100,
+ 0
+ ],
+ "scale": 2.5e-201,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..b6f48f353483
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ -1,
+ 1,
+ 0,
+ 3,
+ 2,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 3,
+ 3,
+ 1
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 5
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..23b2e1f0033e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ -1,
+ 3,
+ 0,
+ 1,
+ 2,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 3,
+ 3,
+ 1
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 5
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..342423403ff9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 3,
+ -1,
+ 0,
+ 1,
+ 2,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 4,
+ 2
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 4,
+ 2,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..da76554da8bc
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_no_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ 3,
+ 1,
+ 0,
+ -1,
+ 2,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 4,
+ 2
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 4,
+ 2,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..a7120725fcd8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_lower_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ -1,
+ 1,
+ 0,
+ 2,
+ 4,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 0,
+ 7
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 6
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..c4d132cc0865
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_lower_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ -1,
+ 2,
+ 0,
+ 1,
+ 4,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 1,
+ 0,
+ 7
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 0,
+ 1,
+ 6
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..220579719b63
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_upper_col_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 4,
+ 3,
+ 0,
+ 1,
+ 2,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": -1,
+ "strideA2": -3,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 8,
+ 3,
+ 1
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 7,
+ 2,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..f8726a35103e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/negative_strides/unit_trans_upper_row_major.json
@@ -0,0 +1,67 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 1,
+ 0,
+ 0,
+ 4,
+ 1,
+ 0,
+ 3,
+ 2,
+ 1
+ ],
+ "strideA1": -3,
+ "strideA2": -1,
+ "offsetA": 8,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 8,
+ 3,
+ 1
+ ],
+ "strideX": -1,
+ "offsetX": 2,
+ "CNORM": [
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": -1,
+ "offsetCNORM": 2,
+ "expectedX": [
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 7,
+ 2,
+ 0
+ ],
+ "scale": 1,
+ "offsetExpectedX": 2,
+ "offsetExpectedCNORM": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..85c8e576db6e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 0.0, 0.0 ],
+ [ 1.0, 3.0, 0.0 ],
+ [ -1.0, 2.0, 4.0 ]
+ ],
+
+ "X": [ 5.0, 10.0, 20.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.5, 2.5, 4.375 ],
+ "expectedCNORM": [ 2.0, 2.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..270fe94e0316
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 0.0, 0.0, 1.0, 3.0, 0.0, -1.0, 2.0, 4.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 0.0, 0.0 ],
+ [ 1.0, 3.0, 0.0 ],
+ [ -1.0, 2.0, 4.0 ]
+ ],
+
+ "X": [ 5.0, 10.0, 20.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.5, 2.5, 4.375 ],
+ "expectedCNORM": [ 2.0, 2.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..2d483b7363f7
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 0.0, 0.0, 1.0, 3.0, 0.0, -1.0, 2.0, 4.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 1.0, -1.0 ],
+ [ 0.0, 3.0, 2.0 ],
+ [ 0.0, 0.0, 4.0 ]
+ ],
+
+ "X": [ 5.0, 10.0, 20.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.0, 0.0, 5.0 ],
+ "expectedCNORM": [ 0.0, 1.0, 3.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..a442288a57c8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 1.0, -1.0 ],
+ [ 0.0, 3.0, 2.0 ],
+ [ 0.0, 0.0, 4.0 ]
+ ],
+
+ "X": [ 5.0, 10.0, 20.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.0, 0.0, 5.0 ],
+ "expectedCNORM": [ 0.0, 1.0, 3.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..4c855990bb17
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 0.0, 0.0 ],
+ [ 1.0, 3.0, 0.0 ],
+ [ -1.0, 2.0, 4.0 ]
+ ],
+
+ "X": [ 2.0, 5.0, 4.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 2.0, 2.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..0271c89738d2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 0.0, 0.0, 1.0, 3.0, 0.0, -1.0, 2.0, 4.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 0.0, 0.0 ],
+ [ 1.0, 3.0, 0.0 ],
+ [ -1.0, 2.0, 4.0 ]
+ ],
+
+ "X": [ 2.0, 5.0, 4.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 2.0, 2.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..3ef3961c2378
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 1.0, 0.0, 1.0, 3.0, 0.0, -1.0, 2.0, 4.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 1.0, -1.0 ],
+ [ 1.0, 3.0, 2.0 ],
+ [ 0.0, 0.0, 4.0 ]
+ ],
+
+ "X": [ 2.0, 5.0, 4.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.3333333333333333, 0.58333333333333337 ],
+ "expectedCNORM": [ 0.0, 1.0, 3.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..340edb41e14c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/non_unit_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 2.0, 1.0, -1.0 ],
+ [ 1.0, 3.0, 2.0 ],
+ [ 0.0, 0.0, 4.0 ]
+ ],
+
+ "X": [ 2.0, 5.0, 4.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.3333333333333333, 0.58333333333333337 ],
+ "expectedCNORM": [ 0.0, 1.0, 3.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/large_off_diagonal_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/large_off_diagonal_col_major.json
new file mode 100644
index 000000000000..346e0cf11fa5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/large_off_diagonal_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 1e+292,
+ 1,
+ 0,
+ 1e+292,
+ 1e+292,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5e+291,
+ -0.5,
+ 4.9999999999999997e-293
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1e+292,
+ 2e+292
+ ],
+ "scale": 4.9999999999999997e-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/large_off_diagonal_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/large_off_diagonal_row_major.json
new file mode 100644
index 000000000000..b5283f552ab0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/large_off_diagonal_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 1e+292,
+ 1e+292,
+ 0,
+ 1,
+ 1e+292,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 1e+292,
+ 1e+292
+ ],
+ [
+ 0,
+ 1,
+ 1e+292
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5e+291,
+ -0.5,
+ 4.9999999999999997e-293
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1e+292,
+ 2e+292
+ ],
+ "scale": 4.9999999999999997e-293
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..b7d6619eea1d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 1,
+ -1,
+ 0,
+ 3,
+ 2,
+ 0,
+ 0,
+ 4
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 2.5,
+ 2.5,
+ 4.375
+ ],
+ "expectedCNORM": [
+ 9999,
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..bd03cee33e61
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 0,
+ 0,
+ 1,
+ 3,
+ 0,
+ -1,
+ 2,
+ 4
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 2.5,
+ 2.5,
+ 4.375
+ ],
+ "expectedCNORM": [
+ 9999,
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..9b088717cdf6
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 0,
+ 0,
+ 1,
+ 3,
+ 0,
+ -1,
+ 2,
+ 4
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5,
+ 0,
+ 5
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..96d43cf58dd5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 1,
+ -1,
+ 0,
+ 3,
+ 2,
+ 0,
+ 0,
+ 4
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 0,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 5,
+ 10,
+ 20
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5,
+ 0,
+ 5
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..db79aa7d957b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 1,
+ -1,
+ 0,
+ 3,
+ 2,
+ 0,
+ 0,
+ 4
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..59b64f34e006
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 0,
+ 0,
+ 1,
+ 3,
+ 0,
+ -1,
+ 2,
+ 4
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 3,
+ 0
+ ],
+ [
+ -1,
+ 2,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 2,
+ 2,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..25d919971657
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 1,
+ 0,
+ 1,
+ 3,
+ 0,
+ -1,
+ 2,
+ 4
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1.3333333333333333,
+ 0.5833333333333334
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..0ff9a5bc711f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/non_unit_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 2,
+ 1,
+ -1,
+ 0,
+ 3,
+ 2,
+ 0,
+ 0,
+ 4
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 2,
+ 1,
+ -1
+ ],
+ [
+ 1,
+ 3,
+ 2
+ ],
+ [
+ 0,
+ 0,
+ 4
+ ]
+ ],
+ "X": [
+ 9999,
+ 2,
+ 5,
+ 4
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1.3333333333333333,
+ 0.5833333333333334
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1,
+ 3
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..886832c8a027
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 2,
+ 3,
+ 0,
+ 0.1,
+ 4,
+ 0,
+ 0,
+ 0.01
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+308,
+ 1e+308,
+ 1e+308
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 0.5,
+ -5,
+ 1900
+ ],
+ "expectedCNORM": [
+ 9999,
+ 5,
+ 4,
+ 0
+ ],
+ "scale": 5e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..493b5a7e7b64
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 2,
+ 0.1,
+ 0,
+ 3,
+ 4,
+ 0.01
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 0.1,
+ 0
+ ],
+ [
+ 3,
+ 4,
+ 0.01
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+308,
+ 1e+308,
+ 1e+308
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 0.5,
+ -5,
+ 1900
+ ],
+ "expectedCNORM": [
+ 9999,
+ 5,
+ 4,
+ 0
+ ],
+ "scale": 5e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..5985fde241b0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1e-10,
+ 0,
+ 0,
+ 2,
+ 1e-20,
+ 0,
+ 3,
+ 4,
+ 1e-30
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+300,
+ 2e+300,
+ 3e+300
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 7.999999999999998e+60,
+ -3.9999999999999995e+50,
+ 9.999999999999999e+29
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 3.333333333333333e-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..e1ee9a1f091a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1e-10,
+ 2,
+ 3,
+ 0,
+ 1e-20,
+ 4,
+ 0,
+ 0,
+ 1e-30
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1e-10,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1e-20,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1e-30
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+300,
+ 2e+300,
+ 3e+300
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 7.999999999999998e+60,
+ -3.9999999999999995e+50,
+ 9.999999999999999e+29
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 3.333333333333333e-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..caf6a81ea981
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1e-100,
+ 1,
+ 2,
+ 0,
+ 1e-120,
+ 3,
+ 0,
+ 0,
+ 1e-140
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1e+220,
+ -1e+120,
+ 0.3333333333333333
+ ],
+ "expectedCNORM": [
+ 9999,
+ 3,
+ 3,
+ 0
+ ],
+ "scale": 1.1111111111111112e-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..890cc33b0082
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1e-100,
+ 0,
+ 0,
+ 1,
+ 1e-120,
+ 0,
+ 2,
+ 3,
+ 1e-140
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1e-100,
+ 0,
+ 0
+ ],
+ [
+ 1,
+ 1e-120,
+ 0
+ ],
+ [
+ 2,
+ 3,
+ 1e-140
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1e+220,
+ -1e+120,
+ 0.3333333333333333
+ ],
+ "expectedCNORM": [
+ 9999,
+ 3,
+ 3,
+ 0
+ ],
+ "scale": 1.1111111111111112e-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..b001f2153a2c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1e-100,
+ 0,
+ 0,
+ 5,
+ 1e-110,
+ 0,
+ 7,
+ 8,
+ 1e-120
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 0.2,
+ -1e+110,
+ 8e+230
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 5,
+ 15
+ ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..e393cb6b34fe
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_non_unit_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1e-100,
+ 5,
+ 7,
+ 0,
+ 1e-110,
+ 8,
+ 0,
+ 0,
+ 1e-120
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1e-100,
+ 5,
+ 7
+ ],
+ [
+ 0,
+ 1e-110,
+ 8
+ ],
+ [
+ 0,
+ 0,
+ 1e-120
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 0.2,
+ -1e+110,
+ 8e+230
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 5,
+ 15
+ ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..dc19d85c263b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 1e+100,
+ 2e+100,
+ 0,
+ 1,
+ 3e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5e-101,
+ -0.5,
+ 1.5e+100
+ ],
+ "expectedCNORM": [
+ 9999,
+ 3.0000000000000002e+100,
+ 3e+100,
+ 0
+ ],
+ "scale": 5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..74622fa19f73
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 1e+100,
+ 1,
+ 0,
+ 2e+100,
+ 3e+100,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 1e+100,
+ 1,
+ 0
+ ],
+ [
+ 2e+100,
+ 3e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5e-101,
+ -0.5,
+ 1.5e+100
+ ],
+ "expectedCNORM": [
+ 9999,
+ 3.0000000000000002e+100,
+ 3e+100,
+ 0
+ ],
+ "scale": 5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..1e7e8571a22e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 1e+100,
+ 1,
+ 0,
+ 2e+100,
+ 3e+100,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5e+99,
+ -0.5,
+ 1.6666666666666668e-101
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1e+100,
+ 5e+100
+ ],
+ "scale": 1.6666666666666668e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..530214b5d3e6
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_no_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 1e+100,
+ 2e+100,
+ 0,
+ 1,
+ 3e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 1e+100,
+ 2e+100
+ ],
+ [
+ 0,
+ 1,
+ 3e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 3e+100,
+ 2e+100,
+ 1e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 5e+99,
+ -0.5,
+ 1.6666666666666668e-101
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 1e+100,
+ 5e+100
+ ],
+ "scale": 1.6666666666666668e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..3957675d20e9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 4e+100,
+ 7e+100,
+ 0,
+ 1,
+ 8e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 2e+100,
+ -0.5,
+ 6.25e-102
+ ],
+ "expectedCNORM": [
+ 9999,
+ 1.1e+101,
+ 8e+100,
+ 0
+ ],
+ "scale": 2.0833333333333334e-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..327727281444
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 4e+100,
+ 1,
+ 0,
+ 7e+100,
+ 8e+100,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4e+100,
+ 1,
+ 0
+ ],
+ [
+ 7e+100,
+ 8e+100,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 2e+100,
+ -0.5,
+ 6.25e-102
+ ],
+ "expectedCNORM": [
+ 9999,
+ 1.1e+101,
+ 8e+100,
+ 0
+ ],
+ "scale": 2.0833333333333334e-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..cf73b85990d2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 2e+100,
+ 1,
+ 0,
+ 3e+100,
+ 5e+100,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 2.5e-101,
+ -0.5,
+ 2.5e+100
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2e+100,
+ 8e+100
+ ],
+ "scale": 2.5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..ca905724a678
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/scaled_unit_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 2e+100,
+ 3e+100,
+ 0,
+ 1,
+ 5e+100,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 2e+100,
+ 3e+100
+ ],
+ [
+ 0,
+ 1,
+ 5e+100
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1e+100,
+ 2e+100,
+ 3e+100
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 2.5e-101,
+ -0.5,
+ 2.5e+100
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2e+100,
+ 8e+100
+ ],
+ "scale": 2.5e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..567c60d9ddaa
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 2,
+ 3,
+ 0,
+ 1,
+ -1,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1,
+ 3,
+ 3
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 5,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..7b7be33e6a63
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 2,
+ 1,
+ 0,
+ 3,
+ -1,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 2,
+ 1,
+ 0
+ ],
+ [
+ 3,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1,
+ 3,
+ 3
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 5,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..d1acd1f777f0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 2,
+ 1,
+ 0,
+ -1,
+ 3,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 2,
+ 4,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2,
+ 4
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..a3400e4a895a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_no_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 2,
+ -1,
+ 0,
+ 1,
+ 3,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ -1
+ ],
+ [
+ 0,
+ 1,
+ 3
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 2,
+ 4,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2,
+ 4
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..0e4857defbdb
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_lower_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 4,
+ 2,
+ 0,
+ 1,
+ -1,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 7,
+ 0,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 6,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..177308df8980
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_lower_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 4,
+ 1,
+ 0,
+ 2,
+ -1,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 0,
+ 0
+ ],
+ [
+ 4,
+ 1,
+ 0
+ ],
+ [
+ 2,
+ -1,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 7,
+ 0,
+ 1
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 6,
+ 1,
+ 0
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..7e85effdf432
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_upper_col_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "column-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 0,
+ 0,
+ 2,
+ 1,
+ 0,
+ 3,
+ 4,
+ 1
+ ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1,
+ 3,
+ 8
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..fb05b7da173c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/offsets/unit_trans_upper_row_major.json
@@ -0,0 +1,70 @@
+{
+ "order": "row-major",
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+ "N": 3,
+ "LDA": 3,
+ "A": [
+ 9999,
+ 1,
+ 2,
+ 3,
+ 0,
+ 1,
+ 4,
+ 0,
+ 0,
+ 1
+ ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 1,
+ "A_mat": [
+ [
+ 1,
+ 2,
+ 3
+ ],
+ [
+ 0,
+ 1,
+ 4
+ ],
+ [
+ 0,
+ 0,
+ 1
+ ]
+ ],
+ "X": [
+ 9999,
+ 1,
+ 3,
+ 8
+ ],
+ "strideX": 1,
+ "offsetX": 1,
+ "CNORM": [
+ 9999,
+ 0,
+ 0,
+ 0
+ ],
+ "strideCNORM": 1,
+ "offsetCNORM": 1,
+ "expectedX": [
+ 9999,
+ 1,
+ 1,
+ 1
+ ],
+ "expectedCNORM": [
+ 9999,
+ 0,
+ 2,
+ 7
+ ],
+ "scale": 1
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..02890bb6cb1a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 2.0, 3.0, 0.0, 0.1, 4.0, 0.0, 0.0, 0.01 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 2.0, 0.1, 0.0 ],
+ [ 3.0, 4.0, 0.01 ]
+ ],
+
+ "X": [ 1.0e308, 1.0e308, 1.0e308 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 0.5, -5.0, 1900.0 ],
+ "expectedCNORM": [ 5.0, 4.0, 0.0 ],
+ "scale": 4.9999999999999995e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..e62bea8b7272
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 2.0, 0.1, 0.0, 3.0, 4.0, 0.01 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 2.0, 0.1, 0.0 ],
+ [ 3.0, 4.0, 0.01 ]
+ ],
+
+ "X": [ 1.0e308, 1.0e308, 1.0e308 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 0.5, -5.0, 1900.0 ],
+ "expectedCNORM": [ 5.0, 4.0, 0.0 ],
+ "scale": 4.9999999999999995e-309
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..2d54382803c8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0e-10, 0.0, 0.0, 2.0, 1.0e-20, 0.0, 3.0, 4.0, 1.0e-30 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0e-10, 2.0, 3.0 ],
+ [ 0.0, 1.0e-20, 4.0 ],
+ [ 0.0, 0.0, 1.0e-30 ]
+ ],
+
+ "X": [ 1.0e300, 2.0e300, 3.0e300 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 7.9999999999999982e+060, -3.9999999999999995E+050, 9.9999999999999988E+029 ],
+ "expectedCNORM": [ 0.0, 2.0, 7.0 ],
+ "scale": 3.3333333333333330E-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..4795f1555414
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_no_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0e-10, 2.0, 3.0, 0.0, 1.0e-20, 4.0, 0.0, 0.0, 1.0e-30 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0e-10, 2.0, 3.0 ],
+ [ 0.0, 1.0e-20, 4.0 ],
+ [ 0.0, 0.0, 1.0e-30 ]
+ ],
+
+ "X": [ 1.0e300, 2.0e300, 3.0e300 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 7.9999999999999982e+060, -3.9999999999999995E+050, 9.9999999999999988E+029 ],
+ "expectedCNORM": [ 0.0, 2.0, 7.0 ],
+ "scale": 3.3333333333333330E-301
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..cfe74034bfb8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0e-100, 1.0, 2.0, 0.0, 1.0e-120, 3.0, 0.0, 0.0, 1.0e-140 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0e-100, 0.0, 0.0 ],
+ [ 1.0, 1.0e-120, 0.0 ],
+ [ 2.0, 3.0, 1.0e-140 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 9.99999999999999996E+219, -9.99999999999999980E+119, 3.33333333333333315E-001 ],
+ "expectedCNORM": [ 3.0, 3.0, 0.0 ],
+ "scale": 1.1111111111111112E-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..f1293abf6bca
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0e-100, 0.0, 0.0, 1.0, 1.0e-120, 0.0, 2.0, 3.0, 1.0e-140 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0e-100, 0.0, 0.0 ],
+ [ 1.0, 1.0e-120, 0.0 ],
+ [ 2.0, 3.0, 1.0e-140 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 9.99999999999999996E+219, -9.99999999999999980E+119, 3.33333333333333315E-001 ],
+ "expectedCNORM": [ 3.0, 3.0, 0.0 ],
+ "scale": 1.1111111111111112E-241
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..58a983678ad5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0e-100, 0.0, 0.0, 5.0, 1.0e-110, 0.0, 7.0, 8.0, 1.0e-120 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0e-100, 5.0, 7.0 ],
+ [ 0.0, 1.0e-110, 8.0 ],
+ [ 0.0, 0.0, 1.0e-120 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.00000000000000011102E-001, -1.00000000000000002357E+110, 8.00000000000000079653E+230 ],
+ "expectedCNORM": [ 0.0, 5.0, 15.0 ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..1e3c2bd7debd
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_non_unit_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "non-unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0e-100, 5.0, 7.0, 0.0, 1.0e-110, 8.0, 0.0, 0.0, 1.0e-120 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0e-100, 5.0, 7.0 ],
+ [ 0.0, 1.0e-110, 8.0 ],
+ [ 0.0, 0.0, 1.0e-120 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.00000000000000011102E-001, -1.00000000000000002357E+110, 8.00000000000000079653E+230 ],
+ "expectedCNORM": [ 0.0, 5.0, 15.0 ],
+ "scale": 2.0000000000000003e-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..2a02cd71bbf8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 1e100, 2e100, 0.0, 1.0, 3e100, 0.0, 0.0, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 1e100, 1.0, 0.0 ],
+ [ 2e100, 3e100, 1.0 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.00000000000000009996E-101, -5.00000000000000000000E-001, 1.49999999999999992672E+100 ],
+ "expectedCNORM": [ 3.00000000000000024198E+100, 3e100, 0.0 ],
+ "scale": 4.9999999999999999E-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..3e9bfe4eaadc
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 1e100, 1.0, 0.0, 2e100, 3e100, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 1e100, 1.0, 0.0 ],
+ [ 2e100, 3e100, 1.0 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.00000000000000009996E-101, -5.00000000000000000000E-001, 1.49999999999999992672E+100 ],
+ "expectedCNORM": [ 3.00000000000000024198E+100, 3e100, 0.0 ],
+ "scale": 4.9999999999999999E-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..547f5e24e0b2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 1e100, 1.0, 0.0, 2e100, 3e100, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 1e100, 2e100 ],
+ [ 0.0, 1.0, 3e100 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 3e100, 2e100, 1e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.00000000000000007951E+099, -5.00000000000000000000E-001, 1.66666666666666680573E-101 ],
+ "expectedCNORM": [ 0.0, 1.00000000000000001590E+100, 4.99999999999999988525E+100 ],
+ "scale": 1.6666666666666668E-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..c2e5b6b9b54f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_no_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 1e100, 2e100, 0.0, 1.0, 3e100, 0.0, 0.0, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 1e100, 2e100 ],
+ [ 0.0, 1.0, 3e100 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 3e100, 2e100, 1e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 5.00000000000000007951E+099, -5.00000000000000000000E-001, 1.66666666666666680573E-101 ],
+ "expectedCNORM": [ 0.0, 1.00000000000000001590E+100, 4.99999999999999988525E+100 ],
+ "scale": 1.6666666666666668E-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..4c01934f7899
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 4e100, 7e100, 0.0, 1.0, 8e100, 0.0, 0.0, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 4e100, 1.0, 0.0 ],
+ [ 7e100, 8e100, 1.0 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.00000000000000003181E+100, -5.00000000000000000000E-001, 6.25000000000000012495E-102 ],
+ "expectedCNORM": [ 1.10000000000000003692E+101, 8.00000000000000012722E+100, 0.00000000000000000000E+000 ],
+ "scale": 2.0833333333333334E-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..2a75109cd4da
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 4e100, 1.0, 0.0, 7e100, 8e100, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 4e100, 1.0, 0.0 ],
+ [ 7e100, 8e100, 1.0 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.00000000000000003181E+100, -5.00000000000000000000E-001, 6.25000000000000012495E-102 ],
+ "expectedCNORM": [ 1.10000000000000003692E+101, 8.00000000000000012722E+100, 0.00000000000000000000E+000 ],
+ "scale": 2.0833333333333334E-202
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..be22e7a1fd39
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 2e100, 1.0, 0.0, 3e100, 5e100, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 2e100, 3e100 ],
+ [ 0.0, 1.0, 5e100 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.50000000000000004998E-101, -5.00000000000000000000E-001, 2.49999999999999994262E+100 ],
+ "expectedCNORM": [ 0.0, 2.00000000000000003181E+100, 8.00000000000000012722E+100 ],
+ "scale": 2.5000000000000000E-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..ae92331e949f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/scaled_unit_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 2e100, 3e100, 0.0, 1.0, 5e100, 0.0, 0.0, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 2e100, 3e100 ],
+ [ 0.0, 1.0, 5e100 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 1e100, 2e100, 3e100 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 2.50000000000000004998E-101, -5.00000000000000000000E-001, 2.49999999999999994262E+100 ],
+ "expectedCNORM": [ 0.0, 2.00000000000000003181E+100, 8.00000000000000012722E+100 ],
+ "scale": 2.5000000000000000E-201
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_lower_col_major.json
new file mode 100644
index 000000000000..167ce59f9435
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 2.0, 3.0, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 2.0, 1.0, 0.0 ],
+ [ 3.0, -1.0, 1.0 ]
+ ],
+
+ "X": [ 1.0, 3.0, 3.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 5.0, 1.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_lower_row_major.json
new file mode 100644
index 000000000000..8518ca33fef2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 3.0, -1.0, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 2.0, 1.0, 0.0 ],
+ [ 3.0, -1.0, 1.0 ]
+ ],
+
+ "X": [ 1.0, 3.0, 3.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 5.0, 1.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_upper_col_major.json
new file mode 100644
index 000000000000..89f8741de1c0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, -1.0, 3.0, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 2.0, -1.0 ],
+ [ 0.0, 1.0, 3.0 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 2.0, 4.0, 1.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 0.0, 2.0, 4.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_upper_row_major.json
new file mode 100644
index 000000000000..4b73fcf04eed
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_no_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "no-transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 2.0, -1.0, 0.0, 1.0, 3.0, 0.0, 0.0, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 2.0, -1.0 ],
+ [ 0.0, 1.0, 3.0 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 2.0, 4.0, 1.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 0.0, 2.0, 4.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_lower_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_lower_col_major.json
new file mode 100644
index 000000000000..cd06bd588160
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_lower_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 4.0, 2.0, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 4.0, 1.0, 0.0 ],
+ [ 2.0, -1.0, 1.0 ]
+ ],
+
+ "X": [ 7.0, 0.0, 1.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 6.0, 1.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_lower_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_lower_row_major.json
new file mode 100644
index 000000000000..2ae89ee1228a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_lower_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "lower",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 4.0, 1.0, 0.0, 2.0, -1.0, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 0.0, 0.0 ],
+ [ 4.0, 1.0, 0.0 ],
+ [ 2.0, -1.0, 1.0 ]
+ ],
+
+ "X": [ 7.0, 0.0, 1.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 6.0, 1.0, 0.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_upper_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_upper_col_major.json
new file mode 100644
index 000000000000..b8879864b700
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_upper_col_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "column-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 3.0, 4.0, 1.0 ],
+ "strideA1": 1,
+ "strideA2": 3,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 2.0, 3.0 ],
+ [ 0.0, 1.0, 4.0 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 1.0, 3.0, 8.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 0.0, 2.0, 7.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_upper_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_upper_row_major.json
new file mode 100644
index 000000000000..f4a2325b203b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/unit_trans_upper_row_major.json
@@ -0,0 +1,34 @@
+{
+ "order": "row-major",
+
+ "uplo": "upper",
+ "trans": "transpose",
+ "diag": "unit",
+ "normin": "no",
+
+ "N": 3,
+ "LDA": 3,
+
+ "A": [ 1.0, 2.0, 3.0, 0.0, 1.0, 4.0, 0.0, 0.0, 1.0 ],
+ "strideA1": 3,
+ "strideA2": 1,
+ "offsetA": 0,
+
+ "A_mat": [
+ [ 1.0, 2.0, 3.0 ],
+ [ 0.0, 1.0, 4.0 ],
+ [ 0.0, 0.0, 1.0 ]
+ ],
+
+ "X": [ 1.0, 3.0, 8.0 ],
+ "strideX": 1,
+ "offsetX": 0,
+
+ "CNORM": [ 0.0, 0.0, 0.0 ],
+ "strideCNORM": 1,
+ "offsetCNORM": 0,
+
+ "expectedX": [ 1.0, 1.0, 1.0 ],
+ "expectedCNORM": [ 0.0, 2.0, 7.0 ],
+ "scale": 1.0
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.dlatrs.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.dlatrs.js
new file mode 100644
index 000000000000..e6dd76b1e165
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.dlatrs.js
@@ -0,0 +1,1274 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+/* eslint-disable max-len, id-length */
+
+'use strict';
+
+// MODULES //
+
+var tape = require( 'tape' );
+var Float64Array = require( '@stdlib/array/float64' );
+var dlatrs = require( './../lib/dlatrs.js' );
+
+
+// FIXTURES //
+
+var NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/non_unit_no_trans_upper_row_major.json' );
+var NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/non_unit_no_trans_upper_col_major.json' );
+var NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/non_unit_no_trans_lower_row_major.json' );
+var NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/non_unit_no_trans_lower_col_major.json' );
+
+var NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/non_unit_trans_lower_row_major.json' );
+var NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/non_unit_trans_lower_col_major.json' );
+var NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/non_unit_trans_upper_row_major.json' );
+var NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/non_unit_trans_upper_col_major.json' );
+
+var UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/unit_no_trans_lower_row_major.json' );
+var UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/unit_no_trans_lower_col_major.json' );
+var UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/unit_no_trans_upper_row_major.json' );
+var UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/unit_no_trans_upper_col_major.json' );
+
+var UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/unit_trans_lower_row_major.json' );
+var UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/unit_trans_lower_col_major.json' );
+var UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/unit_trans_upper_row_major.json' );
+var UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/unit_trans_upper_col_major.json' );
+
+var SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_non_unit_no_trans_lower_row_major.json' );
+var SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_non_unit_no_trans_lower_col_major.json' );
+var SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_non_unit_no_trans_upper_row_major.json' );
+var SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_unit_no_trans_upper_col_major.json' );
+
+var SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_non_unit_trans_lower_row_major.json' );
+var SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_non_unit_trans_lower_col_major.json' );
+var SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_row_major.json' );
+var SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_col_major.json' );
+
+var SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_unit_no_trans_lower_row_major.json' );
+var SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_unit_no_trans_lower_col_major.json' );
+var SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_row_major.json' );
+var SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_col_major.json' );
+
+var SCALED_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_unit_trans_lower_row_major.json' );
+var SCALED_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_unit_trans_lower_col_major.json' );
+var SCALED_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_unit_trans_upper_row_major.json' );
+var SCALED_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_unit_trans_upper_col_major.json' );
+
+var LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR = require( './fixtures/large_off_diagonal_row_major.json' );
+var LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR = require( './fixtures/large_off_diagonal_col_major.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof dlatrs, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function has an arity of 10', function test( t ) {
+ t.strictEqual( dlatrs.length, 10, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function throws an error if provided a first argument which is not a valid order', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( value, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided a second argument which is not a valid matrix triangle', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.order, value, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided a third argument which is not a valid transpose operation', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.order, data.uplo, value, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided a fourth argument which is not a valid diagonal type', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.order, data.uplo, data.trans, value, data.normin, data.N, A, data.LDA, X, CNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided a fifth argument which is not yes or no', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.order, data.uplo, data.trans, data.diag, value, data.N, A, data.LDA, X, CNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided the seventh argument is not a valid LDA value', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 0,
+ 1,
+ 2
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), RangeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, value, X, CNORM );
+ };
+ }
+});
+
+tape( 'the function returns the arrays unchanged for N = 0', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.CNORM );
+ expectedX = new Float64Array( data.X );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, 0, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (row-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (column-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.js
new file mode 100644
index 000000000000..fe1f198c0c31
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.js
@@ -0,0 +1,82 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var tape = require( 'tape' );
+var proxyquire = require( 'proxyquire' );
+var IS_BROWSER = require( '@stdlib/assert/is-browser' );
+var dlatrs = require( './../lib' );
+
+
+// VARIABLES //
+
+var opts = {
+ 'skip': IS_BROWSER
+};
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof dlatrs, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'attached to the main export is a method providing an ndarray interface', function test( t ) {
+ t.strictEqual( typeof dlatrs.ndarray, 'function', 'method is a function' );
+ t.end();
+});
+
+tape( 'if a native implementation is available, the main export is the native implementation', opts, function test( t ) {
+ var dlatrs = proxyquire( './../lib', {
+ '@stdlib/utils/try-require': tryRequire
+ });
+
+ t.strictEqual( dlatrs, mock, 'returns expected value' );
+ t.end();
+
+ function tryRequire() {
+ return mock;
+ }
+
+ function mock() {
+ // Mock...
+ }
+});
+
+tape( 'if a native implementation is not available, the main export is a JavaScript implementation', opts, function test( t ) {
+ var dlatrs;
+ var main;
+
+ main = require( './../lib/dlatrs.js' );
+
+ dlatrs = proxyquire( './../lib', {
+ '@stdlib/utils/try-require': tryRequire
+ });
+
+ t.strictEqual( dlatrs, main, 'returns expected value' );
+ t.end();
+
+ function tryRequire() {
+ return new Error( 'Cannot find module' );
+ }
+});
diff --git a/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.ndarray.js
new file mode 100644
index 000000000000..3b1c1411a863
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlatrs/test/test.ndarray.js
@@ -0,0 +1,5044 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2025 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+/* eslint-disable max-len, id-length, max-lines */
+
+'use strict';
+
+// MODULES //
+
+var tape = require( 'tape' );
+var Float64Array = require( '@stdlib/array/float64' );
+var dlatrs = require( './../lib/ndarray.js' );
+
+
+// FIXTURES //
+
+var NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/non_unit_no_trans_upper_row_major.json' );
+var NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/non_unit_no_trans_upper_col_major.json' );
+var NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/non_unit_no_trans_lower_row_major.json' );
+var NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/non_unit_no_trans_lower_col_major.json' );
+
+var NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/non_unit_trans_lower_row_major.json' );
+var NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/non_unit_trans_lower_col_major.json' );
+var NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/non_unit_trans_upper_row_major.json' );
+var NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/non_unit_trans_upper_col_major.json' );
+
+var UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/unit_no_trans_lower_row_major.json' );
+var UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/unit_no_trans_lower_col_major.json' );
+var UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/unit_no_trans_upper_row_major.json' );
+var UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/unit_no_trans_upper_col_major.json' );
+
+var UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/unit_trans_lower_row_major.json' );
+var UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/unit_trans_lower_col_major.json' );
+var UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/unit_trans_upper_row_major.json' );
+var UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/unit_trans_upper_col_major.json' );
+
+var SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_non_unit_no_trans_lower_row_major.json' );
+var SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_non_unit_no_trans_lower_col_major.json' );
+var SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_non_unit_no_trans_upper_row_major.json' );
+var SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_unit_no_trans_upper_col_major.json' );
+
+var SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_non_unit_trans_lower_row_major.json' );
+var SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_non_unit_trans_lower_col_major.json' );
+var SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_row_major.json' );
+var SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_col_major.json' );
+
+var SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_unit_no_trans_lower_row_major.json' );
+var SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_unit_no_trans_lower_col_major.json' );
+var SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_row_major.json' );
+var SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_col_major.json' );
+
+var SCALED_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_unit_trans_lower_row_major.json' );
+var SCALED_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_unit_trans_lower_col_major.json' );
+var SCALED_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_unit_trans_upper_row_major.json' );
+var SCALED_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_unit_trans_upper_col_major.json' );
+
+var LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR = require( './fixtures/large_off_diagonal_row_major.json' );
+var LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR = require( './fixtures/large_off_diagonal_col_major.json' );
+
+var OFFSET_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/non_unit_no_trans_upper_row_major.json' );
+var OFFSET_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/non_unit_no_trans_upper_col_major.json' );
+var OFFSET_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/non_unit_no_trans_lower_row_major.json' );
+var OFFSET_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/non_unit_no_trans_lower_col_major.json' );
+
+var OFFSET_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/non_unit_trans_lower_row_major.json' );
+var OFFSET_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/non_unit_trans_lower_col_major.json' );
+var OFFSET_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/non_unit_trans_upper_row_major.json' );
+var OFFSET_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/non_unit_trans_upper_col_major.json' );
+
+var OFFSET_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/unit_no_trans_lower_row_major.json' );
+var OFFSET_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/unit_no_trans_lower_col_major.json' );
+var OFFSET_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/unit_no_trans_upper_row_major.json' );
+var OFFSET_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/unit_no_trans_upper_col_major.json' );
+
+var OFFSET_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/unit_trans_lower_row_major.json' );
+var OFFSET_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/unit_trans_lower_col_major.json' );
+var OFFSET_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/unit_trans_upper_row_major.json' );
+var OFFSET_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/unit_trans_upper_col_major.json' );
+
+var OFFSET_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/scaled_non_unit_no_trans_lower_row_major.json' );
+var OFFSET_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/scaled_non_unit_no_trans_lower_col_major.json' );
+var OFFSET_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/scaled_non_unit_no_trans_upper_row_major.json' );
+var OFFSET_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/scaled_non_unit_no_trans_upper_col_major.json' );
+
+var OFFSET_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/scaled_non_unit_trans_lower_row_major.json' );
+var OFFSET_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/scaled_non_unit_trans_lower_col_major.json' );
+var OFFSET_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/scaled_non_unit_trans_upper_row_major.json' );
+var OFFSET_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/scaled_non_unit_trans_upper_col_major.json' );
+
+var OFFSET_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/scaled_unit_no_trans_lower_row_major.json' );
+var OFFSET_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/scaled_unit_no_trans_lower_col_major.json' );
+var OFFSET_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/scaled_unit_no_trans_upper_row_major.json' );
+var OFFSET_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/scaled_unit_no_trans_upper_col_major.json' );
+
+var OFFSET_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/offsets/scaled_unit_trans_lower_row_major.json' );
+var OFFSET_SCALED_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/offsets/scaled_unit_trans_lower_col_major.json' );
+var OFFSET_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/offsets/scaled_unit_trans_upper_row_major.json' );
+var OFFSET_SCALED_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/offsets/scaled_unit_trans_upper_col_major.json' );
+
+var OFFSET_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR = require( './fixtures/offsets/large_off_diagonal_row_major.json' );
+var OFFSET_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR = require( './fixtures/offsets/large_off_diagonal_col_major.json' );
+
+var LARGE_STRIDES_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/non_unit_no_trans_upper_row_major.json' );
+var LARGE_STRIDES_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/non_unit_no_trans_upper_col_major.json' );
+var LARGE_STRIDES_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/non_unit_no_trans_lower_row_major.json' );
+var LARGE_STRIDES_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/non_unit_no_trans_lower_col_major.json' );
+
+var LARGE_STRIDES_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/non_unit_trans_lower_row_major.json' );
+var LARGE_STRIDES_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/non_unit_trans_lower_col_major.json' );
+var LARGE_STRIDES_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/non_unit_trans_upper_row_major.json' );
+var LARGE_STRIDES_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/non_unit_trans_upper_col_major.json' );
+
+var LARGE_STRIDES_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/unit_no_trans_lower_row_major.json' );
+var LARGE_STRIDES_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/unit_no_trans_lower_col_major.json' );
+var LARGE_STRIDES_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/unit_no_trans_upper_row_major.json' );
+var LARGE_STRIDES_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/unit_no_trans_upper_col_major.json' );
+
+var LARGE_STRIDES_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/unit_trans_lower_row_major.json' );
+var LARGE_STRIDES_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/unit_trans_lower_col_major.json' );
+var LARGE_STRIDES_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/unit_trans_upper_row_major.json' );
+var LARGE_STRIDES_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/unit_trans_upper_col_major.json' );
+
+var LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/scaled_non_unit_no_trans_lower_row_major.json' );
+var LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/scaled_non_unit_no_trans_lower_col_major.json' );
+var LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/scaled_non_unit_no_trans_upper_row_major.json' );
+var LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/scaled_non_unit_no_trans_upper_col_major.json' );
+
+var LARGE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/scaled_non_unit_trans_lower_row_major.json' );
+var LARGE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/scaled_non_unit_trans_lower_col_major.json' );
+var LARGE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/scaled_non_unit_trans_upper_row_major.json' );
+var LARGE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/scaled_non_unit_trans_upper_col_major.json' );
+
+var LARGE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/scaled_unit_no_trans_lower_row_major.json' );
+var LARGE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/scaled_unit_no_trans_lower_col_major.json' );
+var LARGE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/scaled_unit_no_trans_upper_row_major.json' );
+var LARGE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/scaled_unit_no_trans_upper_col_major.json' );
+
+var LARGE_STRIDES_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/large_strides/scaled_unit_trans_lower_row_major.json' );
+var LARGE_STRIDES_SCALED_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/large_strides/scaled_unit_trans_lower_col_major.json' );
+var LARGE_STRIDES_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/large_strides/scaled_unit_trans_upper_row_major.json' );
+var LARGE_STRIDES_SCALED_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/large_strides/scaled_unit_trans_upper_col_major.json' );
+
+var LARGE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR = require( './fixtures/large_strides/large_off_diagonal_row_major.json' );
+var LARGE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR = require( './fixtures/large_strides/large_off_diagonal_col_major.json' );
+
+var NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/non_unit_no_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/non_unit_no_trans_upper_col_major.json' );
+var NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/non_unit_no_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/non_unit_no_trans_lower_col_major.json' );
+
+var NEGATIVE_STRIDES_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/non_unit_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/non_unit_trans_lower_col_major.json' );
+var NEGATIVE_STRIDES_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/non_unit_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/non_unit_trans_upper_col_major.json' );
+
+var NEGATIVE_STRIDES_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/unit_no_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/unit_no_trans_lower_col_major.json' );
+var NEGATIVE_STRIDES_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/unit_no_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/unit_no_trans_upper_col_major.json' );
+
+var NEGATIVE_STRIDES_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/unit_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/unit_trans_lower_col_major.json' );
+var NEGATIVE_STRIDES_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/unit_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/unit_trans_upper_col_major.json' );
+
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_no_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_no_trans_lower_col_major.json' );
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_no_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_no_trans_upper_col_major.json' );
+
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_trans_lower_col_major.json' );
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/scaled_non_unit_trans_upper_col_major.json' );
+
+var NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_unit_no_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/scaled_unit_no_trans_lower_col_major.json' );
+var NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_unit_no_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/scaled_unit_no_trans_upper_col_major.json' );
+
+var NEGATIVE_STRIDES_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_unit_trans_lower_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/negative_strides/scaled_unit_trans_lower_col_major.json' );
+var NEGATIVE_STRIDES_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/negative_strides/scaled_unit_trans_upper_row_major.json' );
+var NEGATIVE_STRIDES_SCALED_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/negative_strides/scaled_unit_trans_upper_col_major.json' );
+
+var NEGATIVE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR = require( './fixtures/negative_strides/large_off_diagonal_row_major.json' );
+var NEGATIVE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR = require( './fixtures/negative_strides/large_off_diagonal_col_major.json' );
+
+var MIXED_STRIDES_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/non_unit_no_trans_upper_row_major.json' );
+var MIXED_STRIDES_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/non_unit_no_trans_upper_col_major.json' );
+var MIXED_STRIDES_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/non_unit_no_trans_lower_row_major.json' );
+var MIXED_STRIDES_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/non_unit_no_trans_lower_col_major.json' );
+
+var MIXED_STRIDES_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/non_unit_trans_lower_row_major.json' );
+var MIXED_STRIDES_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/non_unit_trans_lower_col_major.json' );
+var MIXED_STRIDES_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/non_unit_trans_upper_row_major.json' );
+var MIXED_STRIDES_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/non_unit_trans_upper_col_major.json' );
+
+var MIXED_STRIDES_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/unit_no_trans_lower_row_major.json' );
+var MIXED_STRIDES_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/unit_no_trans_lower_col_major.json' );
+var MIXED_STRIDES_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/unit_no_trans_upper_row_major.json' );
+var MIXED_STRIDES_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/unit_no_trans_upper_col_major.json' );
+
+var MIXED_STRIDES_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/unit_trans_lower_row_major.json' );
+var MIXED_STRIDES_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/unit_trans_lower_col_major.json' );
+var MIXED_STRIDES_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/unit_trans_upper_row_major.json' );
+var MIXED_STRIDES_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/unit_trans_upper_col_major.json' );
+
+var MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_no_trans_lower_row_major.json' );
+var MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_no_trans_lower_col_major.json' );
+var MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_no_trans_upper_row_major.json' );
+var MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_no_trans_upper_col_major.json' );
+
+var MIXED_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_trans_lower_row_major.json' );
+var MIXED_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_trans_lower_col_major.json' );
+var MIXED_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_trans_upper_row_major.json' );
+var MIXED_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_non_unit_trans_upper_col_major.json' );
+
+var MIXED_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_unit_no_trans_lower_row_major.json' );
+var MIXED_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_unit_no_trans_lower_col_major.json' );
+var MIXED_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_unit_no_trans_upper_row_major.json' );
+var MIXED_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_unit_no_trans_upper_col_major.json' );
+
+var MIXED_STRIDES_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_unit_trans_lower_row_major.json' );
+var MIXED_STRIDES_SCALED_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_unit_trans_lower_col_major.json' );
+var MIXED_STRIDES_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/mixed_strides/scaled_unit_trans_upper_row_major.json' );
+var MIXED_STRIDES_SCALED_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/mixed_strides/scaled_unit_trans_upper_col_major.json' );
+
+var MIXED_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR = require( './fixtures/mixed_strides/large_off_diagonal_row_major.json' );
+var MIXED_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR = require( './fixtures/mixed_strides/large_off_diagonal_col_major.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof dlatrs, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function has an arity of 15', function test( t ) {
+ t.strictEqual( dlatrs.length, 15, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function throws an error if provided the first argument which is not a valid matrix triangle', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( value, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided a second argument which is not a valid transpose operation', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.uplo, value, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided a third argument which is not a valid diagonal type', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.uplo, data.trans, value, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+ };
+ }
+});
+
+tape( 'the function throws an error if provided a fourth argument which is not yes or no', function test( t ) {
+ var values;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+ var i;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ X = new Float64Array( data.X );
+ CNORM = new Float64Array( data.CNORM );
+
+ values = [
+ 'foo',
+ 'bar',
+ 'beep',
+ 'boop',
+ -5,
+ NaN,
+ true,
+ false,
+ null,
+ void 0,
+ [],
+ {},
+ function noop() {}
+ ];
+
+ for ( i = 0; i < values.length; i++ ) {
+ t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] );
+ }
+ t.end();
+
+ function badValue( value ) {
+ return function badValue() {
+ dlatrs( data.uplo, data.trans, data.diag, value, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+ };
+ }
+});
+
+tape( 'the function returns the arrays unchanged for N = 0', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.CNORM );
+ expectedX = new Float64Array( data.X );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, 0, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = SCALED_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (row-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (column-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_SCALED_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (row-major) (upper triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (column-major) (upper triangular) (no-transpose) (non-unit) (offsets)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = OFFSET_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_SCALED_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (row-major) (upper triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (column-major) (upper triangular) (no-transpose) (non-unit) (negative strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = NEGATIVE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_SCALED_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (row-major) (upper triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (column-major) (upper triangular) (no-transpose) (non-unit) (large strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = LARGE_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (lower triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (lower triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (row-major) (upper triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for normal values (column-major) (upper triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_TRANS_LOWER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_TRANS_LOWER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_TRANS_UPPER_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_SCALED_UNIT_TRANS_UPPER_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (row-major) (upper triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_ROW_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});
+
+tape( 'the function returns expected output for large off diagonal elements (column-major) (upper triangular) (no-transpose) (non-unit) (mixed strides)', function test( t ) {
+ var expectedCNORM;
+ var expectedX;
+ var scale;
+ var CNORM;
+ var data;
+ var A;
+ var X;
+
+ data = MIXED_STRIDES_LARGE_OFF_DIAGONAL_ELEMENTS_COL_MAJOR;
+
+ A = new Float64Array( data.A );
+ CNORM = new Float64Array( data.CNORM );
+ X = new Float64Array( data.X );
+
+ expectedCNORM = new Float64Array( data.expectedCNORM );
+ expectedX = new Float64Array( data.expectedX );
+
+ scale = dlatrs( data.uplo, data.trans, data.diag, data.normin, data.N, A, data.strideA1, data.strideA2, data.offsetA, X, data.strideX, data.offsetX, CNORM, data.strideCNORM, data.offsetCNORM );
+
+ t.strictEqual( scale, data.scale, 'returns expected value' );
+ t.deepEqual( X, expectedX, 'returns expected value' );
+ t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
+
+ t.end();
+});