diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/README.md b/lib/node_modules/@stdlib/lapack/base/dlasq4/README.md
new file mode 100644
index 000000000000..a1f9faeee387
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/README.md
@@ -0,0 +1,287 @@
+
+
+# dlasq4
+
+> Compute an approximation to the smallest eigenvalue using values of d from the previous transform.
+
+
+
+The `dlasq4` routine computes an approximation to the smallest eigenvalue using values of `d` from the previous transform. This routine computes the shift `TAU`, determines the shift type `TTYPE`, and updates the saved state `G` used across successive calls.
+
+Where:
+
+- `d` is the current transformed diagonal element of the implicit tridiagonal matrix during iteration.
+- `TAU` is an approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+- `TTYPE` is an integer flag describing how `TAU` was computed.
+- `G` is a state variable preserved across successive calls and used to regulate the magnitude of fallback shifts.
+
+
+
+
+
+
+
+## Usage
+
+```javascript
+var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+```
+
+#### dlasq4( I0, N0, Z, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out )
+
+Computes an approximation to the smallest eigenvalue using values of `d` from the previous transform.
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var out = new Float64Array( 3 );
+var Z = new Float64Array([5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0]);
+
+var v = dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+// returns [ ~0.05, -6, 0.25 ]
+
+var bool = ( v === out );
+// returns true
+```
+
+The function has the following parameters:
+
+- **I0**: the first index.
+- **N0**: the last index.
+- **Z**: [`Float64Array`][@stdlib/array/float64] QD array.
+- **PP**: ping-pong flag, where `0` corresponds to ping and `1` corresponds to pong.
+- **N0IN**: value of `N0` at the start of `EIGTEST`.
+- **DMIN**: minimum value of `d`.
+- **DMIN1**: minimum value of `d`, excluding `D(N0)`.
+- **DMIN2**: minimum value of `d`, excluding `D(N0)` and `D(N0-1)`.
+- **DN**: `d(N)`.
+- **DN1**: `d(N-1)`.
+- **DN2**: `d(N-2)`.
+- **G**: saved state carried across calls.
+- **out**: [`Float64Array`][@stdlib/array/float64] output array containing `TAU`, `TTYPE`, and `G` respectively.
+
+On return, `out` contains the final scalar values from the shift computation.
+
+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' );
+
+// Initial arrays...
+var Z0 = new Float64Array( [0, 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0] ); // eslint-disable-line max-len
+var out0 = new Float64Array( 4 );
+
+// Create offset views...
+var Z = new Float64Array( Z0.buffer, Z0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
+var out = new Float64Array( out0.buffer, out0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
+
+dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+// out0 => [ 0.0, ~0.05, -6, 0.25 ]
+```
+
+
+
+#### dlasq4.ndarray( I0, N0, Z, strideZ, offsetZ, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, strideOut, offsetOut )
+
+
+
+Computes an approximation to the smallest eigenvalue using values of `d` from the previous transform using alternative indexing semantics.
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var out = new Float64Array( 3 );
+var Z = new Float64Array([5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0]);
+
+// eslint-disable-next-line max-len
+dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 );
+// out => [ ~0.05, -6, 0.25 ]
+```
+
+The function has the following additional parameters:
+
+- **strideZ**: stride length for `Z`.
+- **offsetZ**: starting index for `Z`.
+- **strideOut**: stride length for `out`.
+- **offsetOut**: starting index for `out`.
+
+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 out = new Float64Array( [ 0.0, 0.0, 0.0 ] );
+var Z = new Float64Array( [5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0] );
+
+dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 );
+// out => [ ~0.05, -6, 0.25 ]
+```
+
+
+
+
+
+
+
+## Notes
+
+- `dlasq4()` corresponds to the [LAPACK][LAPACK] routine [`dlasq4`][lapack-dlasq4].
+
+
+
+
+
+
+
+## Examples
+
+
+
+```javascript
+var Float64Array = require( '@stdlib/array/float64' );
+var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+
+// eslint-disable-next-line max-len
+var Z = new Float64Array([ 4.0, 0, 2.5, 0, 5.0, 0, 1.5, 0, 7.5, 0, 3.0, 0, 12.0, 0, 0, 0 ]);
+var out = new Float64Array( 3 ); // Elements: [ tau, ttype, G ]
+
+// Parameters representing a state mid-way through a singular value calculation:
+var I0 = 0;
+var N0 = 3;
+var PP = 0; // Ping-pong flag
+var N0IN = 3;
+var DMIN = 0.125;
+var DMIN1 = 0.25;
+var DMIN2 = 0.3;
+var DN = 0.75;
+var DN1 = 0.5;
+var DN2 = 0.4;
+var G = -4.0;
+
+dlasq4( I0, N0, Z, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out );
+console.log( out );
+
+// eslint-disable-next-line max-len
+Z = new Float64Array([ 4.0, 0, 2.5, 0, 5.0, 0, 1.5, 0, 7.5, 0, 3.0, 0, 12.0, 0, 0, 0 ]);
+
+// eslint-disable-next-line max-len
+dlasq4.ndarray( I0, N0, Z, 1, 0, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, 1, 0 );
+console.log( out );
+```
+
+
+
+
+
+
+
+* * *
+
+
+
+## C APIs
+
+
+
+
+
+
+
+
+
+
+
+### Usage
+
+```c
+TODO
+```
+
+#### TODO
+
+TODO.
+
+```c
+TODO
+```
+
+TODO
+
+```c
+TODO
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Examples
+
+```c
+TODO
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[lapack]: https://www.netlib.org/lapack/explore-html/
+
+[lapack-dlasq4]: https://www.netlib.org/lapack/explore-html/d0/d44/group__lasq4_gaa162de7745ba415fc3e332675b7acc52.html#gaa162de7745ba415fc3e332675b7acc52
+
+[@stdlib/array/float64]: https://stdlib.io/docs/api/latest/@stdlib/array/float64
+
+[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/dlasq4/benchmark/benchmark.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/benchmark/benchmark.js
new file mode 100644
index 000000000000..093609ddc391
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/benchmark/benchmark.js
@@ -0,0 +1,125 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 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 Float64Array = require( '@stdlib/array/float64' );
+var format = require( '@stdlib/string/format' );
+var dlasq5 = require( './../lib/dlasq5.js' );
+var pkg = require( './../package.json' ).name;
+var dlasq4 = require( './../lib/dlasq4.js' );
+
+
+// VARIABLES //
+
+var options = {
+ 'dtype': 'float64'
+};
+
+var TAU = 0.1;
+var SIGMA = 0.0;
+var IEEE = true;
+var EPS = 2.220446049250313e-16;
+
+
+// FUNCTIONS //
+
+/**
+* Creates a benchmark function.
+*
+* @private
+* @param {PositiveInteger} len - array length
+* @returns {Function} benchmark function
+*/
+function createBenchmark( len ) {
+ var DMIN1;
+ var DMIN2;
+ var DMIN;
+ var N0IN;
+ var out1 = new Float64Array( 6 ); // [dmin, dmin1, dmin2, dn, dn1, dn2]
+ var DN1;
+ var DN2;
+ var out = new Float64Array( 3 ); // [tau, ttype, g]
+ var DN;
+ var N0 = floor( ( len / 4 ) - 1 );
+ var PP = 0;
+ var Z = uniform( len, 0.1, 10.0, options );
+ var G = 0.25;
+
+ dlasq5( 0, N0, Z, 1, 0, 0, TAU, SIGMA, IEEE, EPS, out1, 1, 0 );
+
+ DMIN = out1[0];
+ DMIN1 = out1[1];
+ DMIN2 = out1[2];
+ DN = out1[3];
+ DN1 = out1[4];
+ DN2 = out1[5];
+
+ return benchmark;
+
+ function benchmark( b ) {
+ var i;
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ N0IN = N0 + ( i%5 ); // picking a random branch
+
+ dlasq4( 0, N0, Z, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out );
+
+ if ( isnan( out[ i%3 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+
+ if ( isnan( out[ i%3 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+ }
+}
+
+
+// MAIN //
+
+function main() {
+ var len;
+ var min;
+ var max;
+ var f;
+ var i;
+
+ min = 1;
+ max = 6;
+
+ for ( i = min; i <= max; i++ ) {
+ len = pow( 10, i );
+ f = createBenchmark( len );
+ bench( format( '%s:len=%d', pkg, len ), f );
+ }
+}
+
+main();
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/benchmark/benchmark.ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/benchmark/benchmark.ndarray.js
new file mode 100644
index 000000000000..d1b00b1cdb30
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/benchmark/benchmark.ndarray.js
@@ -0,0 +1,125 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 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 Float64Array = require( '@stdlib/array/float64' );
+var format = require( '@stdlib/string/format' );
+var dlasq5 = require( './../lib/dlasq5.js' );
+var pkg = require( './../package.json' ).name;
+var dlasq4 = require( './../lib/ndarray.js' );
+
+
+// VARIABLES //
+
+var options = {
+ 'dtype': 'float64'
+};
+
+var TAU = 0.1;
+var SIGMA = 0.0;
+var IEEE = true;
+var EPS = 2.220446049250313e-16;
+
+
+// FUNCTIONS //
+
+/**
+* Creates a benchmark function.
+*
+* @private
+* @param {PositiveInteger} len - array length
+* @returns {Function} benchmark function
+*/
+function createBenchmark( len ) {
+ var DMIN1;
+ var DMIN2;
+ var DMIN;
+ var N0IN;
+ var out1 = new Float64Array( 6 ); // [dmin, dmin1, dmin2, dn, dn1, dn2]
+ var DN1;
+ var DN2;
+ var out = new Float64Array( 3 ); // [tau, ttype, g]
+ var DN;
+ var N0 = floor( ( len / 4 ) - 1 );
+ var PP = 0;
+ var Z = uniform( len, 0.1, 10.0, options );
+ var G = 0.25;
+
+ dlasq5( 0, N0, Z, 1, 0, 0, TAU, SIGMA, IEEE, EPS, out1, 1, 0 );
+
+ DMIN = out1[0];
+ DMIN1 = out1[1];
+ DMIN2 = out1[2];
+ DN = out1[3];
+ DN1 = out1[4];
+ DN2 = out1[5];
+
+ return benchmark;
+
+ function benchmark( b ) {
+ var i;
+
+ b.tic();
+ for ( i = 0; i < b.iterations; i++ ) {
+ N0IN = N0 + ( i%5 ); // picking a random branch
+
+ dlasq4( 0, N0, Z, 1, 0, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, 1, 0 );
+
+ if ( isnan( out[ i%3 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ }
+ b.toc();
+
+ if ( isnan( out[ i%3 ] ) ) {
+ b.fail( 'should not return NaN' );
+ }
+ b.pass( 'benchmark finished' );
+ b.end();
+ }
+}
+
+
+// MAIN //
+
+function main() {
+ var len;
+ var min;
+ var max;
+ var f;
+ var i;
+
+ min = 1;
+ max = 6;
+
+ for ( i = min; i <= max; i++ ) {
+ len = pow( 10, i );
+ f = createBenchmark( len );
+ bench( format( '%s:ndarray:len=%d', pkg, len ), f );
+ }
+}
+
+main();
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/repl.txt b/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/repl.txt
new file mode 100644
index 000000000000..7044608ac531
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/repl.txt
@@ -0,0 +1,148 @@
+
+{{alias}}( I0, N0, Z, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out )
+ Computes an approximation to the smallest eigenvalue using values of d from
+ the previous transform.
+
+ Indexing is relative to the first index. To introduce an offset,
+ use typed array views.
+
+ Parameters
+ ----------
+ I0: number
+ The first index.
+
+ N0: number
+ The last index.
+
+ Z: Float64Array
+ The QD array.
+
+ PP: number
+ The ping-pong flag.
+
+ N0IN: number
+ The value of N0 at start of EIGTEST.
+
+ DMIN: number
+ Minimum value of d.
+
+ DMIN1: number
+ Minimum value of d, excluding D( N0 ).
+
+ DMIN2: number
+ Minimum value of d, excluding D( N0 ) and D( N0-1 ).
+
+ DN: number
+ D( N0 ).
+
+ DN1: number
+ D( N0-1 ).
+
+ DN2: number
+ D( N0-2 ).
+
+ G: number
+ A state variable that is preserved across successive calls.
+
+ out: Float64Array
+ Output array containing `TAU`, `TTYPE`, and `G` respectively.
+
+ Returns
+ -------
+ out: Float64Array
+ Output array.
+
+ Examples
+ --------
+ > var out = new {{alias:@stdlib/array/float64}}( 3 );
+ > var Z = new {{alias:@stdlib/array/float64}}( [5,0,7,0,9,0,3,0,10,0,4.5,0,18,0,0,0] );
+ > {{alias}}( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+ > out
+ [ ~0.05, -6, 0.25 ]
+
+ // Using typed array views:
+ > var Z0 = new {{alias:@stdlib/array/float64}}( [0,5,0,7,0,9,0,3,0,10,0,4.5,0,18,0,0,0] );
+ > var out0 = new {{alias:@stdlib/array/float64}}( 4 );
+ > Z = new Float64Array( Z0.buffer, Z0.BYTES_PER_ELEMENT*1 );
+ > out = new Float64Array( out0.buffer, out0.BYTES_PER_ELEMENT*1 );
+ > {{alias}}( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+ > out0
+ [ 0, ~0.05, -6, 0.25 ]
+
+
+{{alias}}.ndarray(I0,N0,Z,sZ,oZ,PP,N0IN,DMIN,DMIN1,DMIN2,DN,DN1,DN2,G,out,sO,oO)
+ Computes an approximation to the smallest eigenvalue using values of d from
+ the previous transform using alternative indexing semantics.
+
+ While typed array views mandate a view offset based on the underlying
+ buffer, the offset parameter support indexing semantics based on
+ a starting index.
+
+ Parameters
+ ----------
+ I0: number
+ The first index.
+
+ N0: number
+ The last index.
+
+ Z: Float64Array
+ The QD array.
+
+ sZ: integer
+ Stride length for `Z`.
+
+ oZ: integer
+ Starting index for `Z`.
+
+ PP: number
+ The ping-pong flag.
+
+ N0IN: number
+ The value of N0 at start of EIGTEST.
+
+ DMIN: number
+ Minimum value of d.
+
+ DMIN1: number
+ Minimum value of d, excluding D( N0 ).
+
+ DMIN2: number
+ Minimum value of d, excluding D( N0 ) and D( N0-1 ).
+
+ DN: number
+ D( N0 ).
+
+ DN1: number
+ D( N0-1 ).
+
+ DN2: number
+ D( N0-2 ).
+
+ G: number
+ A state variable that is preserved across successive calls.
+
+ out: Float64Array
+ Output array containing `TAU`, `TTYPE`, and `G` respectively.
+
+ sO: integer
+ Stride length for `out`.
+
+ oO: integer
+ Starting index for `out`.
+
+ Returns
+ -------
+ out: Float64Array
+ Output array.
+
+ Examples
+ --------
+ > var out = new {{alias:@stdlib/array/float64}}( 3 );
+ > var Z = new {{alias:@stdlib/array/float64}}( [5,0,7,0,9,0,3,0,10,0,4.5,0,18,0,0,0] );
+ > {{alias}}.ndarray(0,3,Z,1,0,0,3,0.2,0.15,0.1,0.8,0.7,0.6,-6,out,1,0);
+ > out
+ [ ~0.05, -6, 0.25 ]
+
+ See Also
+ --------
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/types/index.d.ts b/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/types/index.d.ts
new file mode 100644
index 000000000000..094ac49ce620
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/types/index.d.ts
@@ -0,0 +1,157 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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
+
+/**
+* Interface describing `dlasq4`.
+*/
+interface Routine {
+ /**
+ * Computes an approximation to the smallest eigenvalue using values of d from the previous transform.
+ *
+ * ## Notes
+ *
+ * - Z is a 1-D array of length >= 4*N0 storing interleaved q/e values.
+ * - PP is 0 for ping, 1 for pong.
+ * - TAU is an approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+ * - TTYPE is an integer flag describing how TAU was computed.
+ * - G is a state variable that is preserved across successive calls and is used to regulate the magnitude of fallback shifts.
+ *
+ * @param I0 - the first index
+ * @param N0 - the last index
+ * @param Z - the QD array
+ * @param PP - ping-pong flag (0 or 1)
+ * @param N0IN - value of `N0` at the start of `EIGTEST`
+ * @param DMIN - minimum value of `d`
+ * @param DMIN1 - minimum value of `d`, excluding `D(N0)`
+ * @param DMIN2 - minimum value of `d`, excluding `D(N0)` and `D(N0-1)`
+ * @param DN - `d(N)`
+ * @param DN1 - `d(N-1)`
+ * @param DN2 - `d(N-2)`
+ * @param G - saved state carried across calls
+ * @param out - output array containing `tau`, `ttype`, and `G`
+ * @returns output array
+ *
+ * @example
+ * var Float64Array = require( '@stdlib/array/float64' );
+ * var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+ *
+ * var out = new Float64Array( 3 );
+ * var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+ *
+ * dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+ * // out => [ ~0.05, -6, 0.25 ]
+ */
+ ( I0: number, N0: number, Z: Float64Array, PP: number, N0IN: number, DMIN: number, DMIN1: number, DMIN2: number, DN: number, DN1: number, DN2: number, G: number, out: Float64Array ): Float64Array;
+
+ /**
+ * Computes an approximation to the smallest eigenvalue using values of d from the previous transform and alternative indexing semantics.
+ *
+ * ## Notes
+ *
+ * - Z is a 1-D array of length >= 4*N0 storing interleaved q/e values.
+ * - PP is 0 for ping, 1 for pong.
+ * - TAU is an approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+ * - TTYPE is an integer flag describing how TAU was computed.
+ * - G is a state variable that is preserved across successive calls and is used to regulate the magnitude of fallback shifts.
+ *
+ * @param I0 - the first index
+ * @param N0 - the last index
+ * @param Z - the QD array
+ * @param strideZ - stride length for `Z`
+ * @param offsetZ - starting index for `Z`
+ * @param PP - ping-pong flag (0 or 1)
+ * @param N0IN - value of `N0` at the start of `EIGTEST`
+ * @param DMIN - minimum value of `d`
+ * @param DMIN1 - minimum value of `d`, excluding `D(N0)`
+ * @param DMIN2 - minimum value of `d`, excluding `D(N0)` and `D(N0-1)`
+ * @param DN - `d(N)`
+ * @param DN1 - `d(N-1)`
+ * @param DN2 - `d(N-2)`
+ * @param G - saved state carried across calls
+ * @param out - output array containing `tau`, `ttype`, and `G`
+ * @param strideOut - stride length for `out`
+ * @param offsetOut - starting index for `out`
+ * @returns output array
+ *
+ * @example
+ * var Float64Array = require( '@stdlib/array/float64' );
+ * var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+ *
+ * var out = new Float64Array( 3 );
+ * var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+ *
+ * dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 );
+ * // out => [ ~0.05, -6, 0.25 ]
+ */
+ ndarray( I0: number, N0: number, Z: Float64Array, strideZ: number, offsetZ: number, PP: number, N0IN: number, DMIN: number, DMIN1: number, DMIN2: number, DN: number, DN1: number, DN2: number, G: number, out: Float64Array, strideOut: number, offsetOut: number ): Float64Array;
+}
+
+/**
+* LAPACK routine to compute an approximation to the smallest eigenvalue using values of d from the previous transform.
+*
+* ## Notes
+*
+* - Z is a 1-D array of length >= 4*N0 storing interleaved q/e values.
+* - PP is 0 for ping, 1 for pong.
+* - TAU is an approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+* - TTYPE is an integer flag describing how TAU was computed.
+* - G is a state variable that is preserved across successive calls and is used to regulate the magnitude of fallback shifts.
+*
+* @param I0 - the first index
+* @param N0 - the last index
+* @param Z - the QD array
+* @param PP - ping-pong flag (0 or 1)
+* @param N0IN - value of `N0` at the start of `EIGTEST`
+* @param DMIN - minimum value of `d`
+* @param DMIN1 - minimum value of `d`, excluding `D(N0)`
+* @param DMIN2 - minimum value of `d`, excluding `D(N0)` and `D(N0-1)`
+* @param DN - `d(N)`
+* @param DN1 - `d(N-1)`
+* @param DN2 - `d(N-2)`
+* @param G - saved state carried across calls
+* @param out - output array containing `tau`, `ttype`, and `G`
+* @returns output array
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+* var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+*
+* var out = new Float64Array( 3 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+*
+* dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+* // out => [ ~0.05, -6, 0.25 ]
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+* var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+*
+* var out = new Float64Array( 3 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+*
+* dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 );
+* // out => [ ~0.05, -6, 0.25 ]
+*/
+declare var dlasq4: Routine;
+
+
+// EXPORTS //
+
+export = dlasq4;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/types/test.ts b/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/types/test.ts
new file mode 100644
index 000000000000..c7815240c141
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/docs/types/test.ts
@@ -0,0 +1,533 @@
+/*
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 dlasq4 = require( './index' );
+
+// TESTS //
+
+// The function returns a Float64Array...
+{
+ const Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectType Float64Array
+}
+
+// The compiler throws an error if the function is provided a first argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( '5', 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( true, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( false, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( null, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( undefined, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( [], 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( {}, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( ( x: number ): number => x, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a second argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, '5', Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, true, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, false, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, null, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, undefined, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, [], Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, {}, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, ( x: number ): number => x, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a third argument which is not a Float64Array...
+{
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, '5', 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, 5, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, true, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, false, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, null, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, undefined, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, [], 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, {}, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, ( x: number ): number => x, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, '5', 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, true, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, false, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, null, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, undefined, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, [], 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, {}, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, ( x: number ): number => x, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fifth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, '5', 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, true, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, false, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, null, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, undefined, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, [], 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, {}, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, ( x: number ): number => x, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a sixth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, '5', 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, true, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, false, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, null, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, undefined, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, [], 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, {}, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, ( x: number ): number => x, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a seventh argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, '5', 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, true, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, false, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, null, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, undefined, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, [], 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, {}, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, ( x: number ): number => x, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an eighth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, '5', 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, true, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, false, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, null, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, undefined, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, [], 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, {}, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, ( x: number ): number => x, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a ninth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, '5', 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, true, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, false, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, null, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, undefined, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, [], 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, {}, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, ( x: number ): number => x, 0.7, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a tenth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, '5', 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, true, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, false, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, null, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, undefined, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, [], 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, {}, 0.6, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, ( x: number ): number => x, 0.6, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an eleventh argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, '5', -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, true, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, false, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, null, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, undefined, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, [], -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, {}, -6, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, ( x: number ): number => x, -6, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a twelfth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, '5', out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, true, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, false, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, null, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, undefined, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, [], out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, {}, out ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, ( x: number ): number => x, out ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a thirteenth argument which is not a Float64Array...
+{
+ const Z = new Float64Array( 16 );
+
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, '5' ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, 5 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, true ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, false ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, null ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, undefined ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, [] ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, {} ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an unsupported number of arguments...
+{
+ const Z = new Float64Array( 16 );
+
+ dlasq4(); // $ExpectError
+ dlasq4( 0 ); // $ExpectError
+ dlasq4( 0, 3 ); // $ExpectError
+ dlasq4( 0, 3, Z ); // $ExpectError
+ dlasq4( 0, 3, Z, 0 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6 ); // $ExpectError
+ dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6 ); // $ExpectError
+}
+
+// Attached to main export is an `ndarray` method which returns a Float64Array...
+{
+ const Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectType Float64Array
+}
+
+// The compiler throws an error if the function is provided a first argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( '5', 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( true, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( false, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( null, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( undefined, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( [], 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( {}, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( ( x: number ): number => x, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a second argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, '5', Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, true, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, false, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, null, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, undefined, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, [], Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, {}, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, ( x: number ): number => x, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a third argument which is not a Float64Array...
+{
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, '5', 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, 5, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, true, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, false, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, null, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, undefined, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, [], 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, {}, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, ( x: number ): number => x, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, '5', 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, true, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, false, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, null, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, undefined, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, [], 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, {}, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, ( x: number ): number => x, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fifth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, '5', 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, true, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, false, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, null, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, undefined, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, [], 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, {}, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, ( x: number ): number => x, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a sixth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, '5', 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, true, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, false, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, null, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, undefined, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, [], 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, {}, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, ( x: number ): number => x, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a seventh argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, '5', 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, true, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, false, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, null, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, undefined, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, [], 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, {}, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, ( x: number ): number => x, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an eighth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, '5', 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, true, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, false, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, null, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, undefined, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, [], 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, {}, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, ( x: number ): number => x, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a ninth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, '5', 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, true, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, false, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, null, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, undefined, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, [], 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, {}, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, ( x: number ): number => x, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a tenth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, '5', 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, true, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, false, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, null, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, undefined, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, [], 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, {}, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, ( x: number ): number => x, 0.8, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an eleventh argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, '5', 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, true, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, false, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, null, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, undefined, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, [], 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, {}, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, ( x: number ): number => x, 0.7, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a twelfth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, '5', 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, true, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, false, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, null, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, undefined, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, [], 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, {}, 0.6, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, ( x: number ): number => x, 0.6, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a thirteenth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, '5', -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, true, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, false, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, null, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, undefined, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, [], -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, {}, -6, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, ( x: number ): number => x, -6, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fourteenth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, '5', out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, true, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, false, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, null, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, undefined, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, [], out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, {}, out, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, ( x: number ): number => x, out, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a fifteenth argument which is not a Float64Array...
+{
+ const Z = new Float64Array( 16 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, '5', 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, 5, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, true, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, false, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, null, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, undefined, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, [], 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, {}, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, ( x: number ): number => x, 1, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a sixteenth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, '5', 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, true, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, false, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, null, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, undefined, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, [], 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, {}, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, ( x: number ): number => x, 0 ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided a seventeenth argument which is not a number...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, '5' ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, true ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, false ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, null ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, undefined ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, [] ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, {} ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, ( x: number ): number => x ); // $ExpectError
+}
+
+// The compiler throws an error if the function is provided an unsupported number of arguments...
+{
+ const Z = new Float64Array( 16 );
+ const out = new Float64Array( 3 );
+
+ dlasq4.ndarray(); // $ExpectError
+ dlasq4.ndarray( 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1 ); // $ExpectError
+ dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0, 1 ); // $ExpectError
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/examples/index.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/examples/index.js
new file mode 100644
index 000000000000..1b2dbae9dd07
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/examples/index.js
@@ -0,0 +1,46 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 dlasq4 = require( './../lib/' );
+
+var Z = new Float64Array([ 4.0, 0, 2.5, 0, 5.0, 0, 1.5, 0, 7.5, 0, 3.0, 0, 12.0, 0, 0, 0 ]);
+var out = new Float64Array( 3 ); // Elements: [ tau, ttype, G ]
+
+var I0 = 0;
+var N0 = 3;
+var PP = 0; // Ping-pong flag
+var N0IN = 3;
+var DMIN = 0.125;
+var DMIN1 = 0.25;
+var DMIN2 = 0.3;
+var DN = 0.75;
+var DN1 = 0.5;
+var DN2 = 0.4;
+var G = -4.0;
+
+dlasq4( I0, N0, Z, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out );
+console.log( out );
+
+// Reset parameters
+Z = new Float64Array([ 4.0, 0, 2.5, 0, 5.0, 0, 1.5, 0, 7.5, 0, 3.0, 0, 12.0, 0, 0, 0 ]);
+
+dlasq4.ndarray( I0, N0, Z, 1, 0, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, 1, 0 );
+console.log( out );
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/base.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/base.js
new file mode 100644
index 000000000000..666428515cdf
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/base.js
@@ -0,0 +1,394 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 max = require( '@stdlib/math/base/special/max' );
+var min = require( '@stdlib/math/base/special/min' );
+var sqrt = require( '@stdlib/math/base/special/sqrt' );
+
+
+// MAIN //
+
+/**
+* Computes an approximation to the smallest eigenvalue using values of d from the previous transform.
+*
+* ## Notes
+*
+* - `Z` is a 1-D array of length >= `4*N0` storing interleaved q/e values.
+* - `PP` is `0` for ping, `1` for pong.
+* - `TAU` is approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+* - `TTYPE` is an integer flag describing how TAU was computed.
+* - `G` is a state variable that is preserved across successive calls and is used to regulate the magnitude of fallback shifts.
+*
+* @private
+* @param {integer} I0 - first index
+* @param {integer} N0 - last index
+* @param {Float64Array} Z - qd array
+* @param {integer} strideZ - stride length for `Z`
+* @param {NonNegativeInteger} offsetZ - starting index for `Z`
+* @param {integer} PP - ping-pong flag (0 or 1)
+* @param {integer} N0IN - value of `N0` at the start of `EIGTEST`
+* @param {number} DMIN - minimum value of `d`
+* @param {number} DMIN1 - minimum value of `d`, excluding `D(N0)`
+* @param {number} DMIN2 - minimum value of `d`, excluding `D(N0)` and `D(N0-1)`
+* @param {number} DN - `d(N)`
+* @param {number} DN1 - `d(N-1)`
+* @param {number} DN2 - `d(N-2)`
+* @param {number} G - saved state carried across calls
+* @param {Float64Array} out - output array containing `tau`, `ttype`, and `G`
+* @param {integer} strideOut - stride length for `out`
+* @param {NonNegativeInteger} offsetOut - starting index for `out`
+* @returns {Float64Array} output array
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var out = new Float64Array( 3 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+*
+* dlasq4( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 );
+* // out => [ ~0.05, -6, 0.25 ]
+*/
+function dlasq4( I0, N0, Z, strideZ, offsetZ, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, strideOut, offsetOut ) { // eslint-disable-line max-len, max-params
+ var CNST1;
+ var CNST2;
+ var CNST3;
+ var ttype;
+ var idx2;
+ var gap1;
+ var gap2;
+ var gam;
+ var idx;
+ var tau;
+ var a2;
+ var b1;
+ var b2;
+ var i4;
+ var nn;
+ var np;
+ var s;
+
+ CNST1 = 0.563;
+ CNST2 = 1.010;
+ CNST3 = 1.050;
+
+ // A negative DMIN forces the shift to take that absolute value TTYPE records the type of shift.
+ if ( DMIN <= 0 ) {
+ tau = -DMIN;
+ ttype = -1;
+
+ idx2 = offsetOut;
+ out[ idx2 ] = tau;
+ idx2 += strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+
+ nn = offsetZ + ( strideZ*( ( 4*N0 ) + PP + 3 ) );
+
+ if ( N0IN === N0 ) {
+ // No eigenvalues deflated.
+ if ( DMIN === DN || DMIN === DN1 ) {
+ b1 = sqrt( Z[ nn - ( 3*strideZ ) ] )*sqrt( Z[ nn - ( 5*strideZ ) ] );
+ b2 = sqrt( Z[ nn - ( 7*strideZ ) ] )*sqrt( Z[ nn - ( 9*strideZ ) ] );
+ a2 = Z[ nn - ( 7*strideZ ) ] + Z[ nn - ( 5*strideZ ) ];
+
+ // Cases 2 and 3.
+ if ( DMIN === DN && DMIN1 === DN1 ) {
+ gap2 = DMIN2 - a2 - ( DMIN2*0.25 );
+
+ if ( gap2 > 0 && gap2 > b2 ) {
+ gap1 = a2 - DN - ( ( b2 / gap2 )*b2 );
+ } else {
+ gap1 = a2 - DN - ( b1 + b2 );
+ }
+ if ( gap1 > 0 && gap1 > b1 ) {
+ s = max( DN - ( ( b1 / gap1 )*b1 ), 0.5*DMIN );
+ ttype = -2;
+ } else {
+ s = 0;
+ if ( DN > b1 ) {
+ s = DN - b1;
+ }
+ if ( a2 > ( b1 + b2 ) ) {
+ s = min( s, a2 - ( b1 + b2 ) );
+ }
+ s = max( s, 0.333*DMIN );
+ ttype = -3;
+ }
+ } else {
+ // Case 4.
+ ttype = -4;
+ s = 0.25*DMIN;
+
+ if ( DMIN === DN ) {
+ gam = DN;
+ a2 = 0;
+ if ( Z[ nn - ( 5*strideZ ) ] > Z[ nn - ( 7*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ b2 = Z[ nn - ( 5*strideZ ) ] / Z[ nn - ( 7*strideZ ) ];
+ np = nn - ( 9*strideZ );
+ } else {
+ np = nn - ( 2*PP*strideZ );
+ gam = DN1;
+ if ( Z[ np - ( 4*strideZ ) ] > Z[ np - ( 2*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ a2 = Z[ np - ( 4*strideZ ) ] / Z[ np - ( 2*strideZ ) ];
+ if ( Z[ nn - ( 9*strideZ ) ] > Z[ nn - ( 11*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ b2 = Z[ nn - ( 9*strideZ ) ] / Z[ nn - ( 11*strideZ ) ];
+ np = nn - ( 13*strideZ );
+ }
+
+ // Approximate contribution to norm squared from I < NN-1.
+ a2 += b2;
+ i4 = np;
+ for ( idx = ( np - offsetZ ) / strideZ; idx >= ( 4*I0 ) + PP + 2; idx -= 4 ) {
+ if ( b2 === 0 ) {
+ break;
+ }
+ b1 = b2;
+ if ( Z[ i4 ] > Z[ i4 - ( 2*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ b2 *= Z[ i4 ] / Z[ i4 - ( 2*strideZ ) ];
+ a2 += b2;
+ if ( ( 100*max( b2, b1 ) ) < a2 || CNST1 < a2 ) {
+ break;
+ }
+ i4 -= 4*strideZ;
+ }
+ a2 *= CNST3;
+
+ // Rayleigh quotient residual bound.
+ if ( a2 < CNST1 ) {
+ s = gam*( 1 - sqrt( a2 ) ) / ( 1 + a2 );
+ }
+ }
+ } else if ( DMIN === DN2 ) {
+ // Case 5.
+ ttype = -5;
+ s = 0.25*DMIN;
+
+ // Compute contribution to norm squared from I > NN-2.
+ np = nn - ( 2*PP*strideZ );
+ b1 = Z[ np - ( 2*strideZ ) ];
+ b2 = Z[ np - ( 6*strideZ ) ];
+ gam = DN2;
+ if ( Z[ np - ( 8*strideZ ) ] > b2 || Z[ np - ( 4*strideZ ) ] > b1 ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ a2 = ( Z[ np - ( 8*strideZ ) ] / b2 )*( 1 + ( Z[ np - ( 4*strideZ ) ] / b1 ) );
+
+ // Approximate contribution to norm squared from I < NN-2.
+ if ( ( N0 - I0 ) > 2 ) {
+ b2 = Z[ nn - ( 13*strideZ ) ] / Z[ nn - ( 15*strideZ ) ];
+ a2 += b2;
+
+ i4 = nn - ( strideZ*17 );
+ for ( idx = ( ( nn - offsetZ ) / strideZ ) - 17; idx >= ( 4*I0 ) + PP + 2; idx -= 4 ) {
+ if ( b2 === 0 ) {
+ break;
+ }
+ b1 = b2;
+ if ( Z[ i4 ] > Z[ i4 - ( 2*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ b2 *= ( Z[ i4 ] / Z[ i4 - ( 2*strideZ ) ] );
+ a2 += b2;
+ if ( ( 100*max( b2, b1 ) ) < a2 || CNST1 < a2 ) {
+ break;
+ }
+ i4 -= 4*strideZ;
+ }
+ a2 *= CNST3;
+ }
+
+ if ( a2 < CNST1 ) {
+ s = gam * ( 1 - sqrt( a2 ) ) / ( 1 + a2 );
+ }
+ } else {
+ // Case 6, no information to guide us.
+ if ( ttype === -6 ) { // Case when `ttype` is previously set by another routine.
+ G += 0.333*( 1 - G );
+ } else if ( ttype === -18 ) { // Case when `ttype` is previously set by another routine.
+ G += 0.25*0.333;
+ } else {
+ G = 0.25;
+ }
+ s = G*DMIN;
+ ttype = -6;
+ }
+ } else if ( N0IN === ( N0 + 1 ) ) {
+ // 1 eigenvalue just deflated. Use DMIN1, DN1 for DMIN and DN.
+ if ( DMIN1 === DN1 && DMIN2 === DN2 ) {
+ // Cases 7 and 8.
+ ttype = -7;
+ s = 0.3330*DMIN1;
+
+ if ( Z[ nn - ( 5*strideZ ) ] > Z[ nn - ( 7*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+
+ b1 = Z[ nn - ( 5*strideZ ) ] / Z[ nn - ( 7*strideZ ) ];
+ b2 = b1;
+
+ if ( b2 !== 0 ) {
+ i4 = offsetZ + ( strideZ*( ( 4*N0 ) - 6 + PP ) );
+ for ( idx = 2; idx >= 0; idx-- ) {
+ a2 = b1;
+ if ( Z[ i4 ] > Z[ i4 - ( 2*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ b1 *= Z[ i4 ] / Z[ i4 - ( 2*strideZ ) ];
+ b2 += b1;
+
+ if ( ( 100*max( b1, a2 ) ) < b2 ) {
+ break;
+ }
+ i4 -= 4*strideZ;
+ }
+ }
+
+ b2 = sqrt( CNST3*b2 );
+ a2 = DMIN1 / ( 1 + ( b2*b2 ) );
+ gap2 = ( 0.5*DMIN2 ) - a2;
+
+ if ( gap2 > 0 && gap2 > ( b2*a2 ) ) {
+ s = max( s, a2*( 1 - ( CNST2*a2*( b2 / gap2 )*b2 ) ) );
+ } else {
+ s = max( s, a2*( 1 - ( CNST2*b2 ) ) );
+ ttype = -8;
+ }
+ } else {
+ // Case 9.
+ s = 0.25*DMIN1;
+ if ( DMIN1 === DN1 ) {
+ s = 0.5*DMIN1;
+ }
+ ttype = -9;
+ }
+ } else if ( N0IN === ( N0 + 2 ) ) {
+ // 2 eigenvalues deflated. Use DMIN2, DN2 for DMIN and DN.
+
+ // Cases 10 and 11.
+ if ( DMIN2 === DN2 && ( 2*Z[ nn - ( 5*strideZ ) ] ) < Z[ nn - ( 7*strideZ ) ] ) {
+ ttype = -10;
+ s = 0.3330*DMIN2;
+ if ( Z[ nn - ( 5*strideZ ) ] > Z[ nn - ( 7*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ b1 = Z[ nn - ( 5*strideZ ) ] / Z[ nn - ( 7*strideZ ) ];
+ b2 = b1;
+ if ( b2 !== 0 ) {
+ i4 = offsetZ + ( strideZ*( ( 4*N0 ) - 6 + PP ) );
+ for ( idx = 1; idx >= 0; idx-- ) {
+ if ( Z[ i4 ] > Z[ i4 - ( 2*strideZ ) ] ) {
+ idx2 = offsetOut + strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+ }
+ b1 *= ( Z[ i4 ] / Z[ i4 - ( 2*strideZ ) ] );
+ b2 += b1;
+ if ( ( 100*b1 ) < b2 ) {
+ break;
+ }
+ i4 -= 4*strideZ;
+ }
+ }
+
+ b2 = sqrt( CNST3*b2 );
+ a2 = DMIN2 / ( 1 + ( b2*b2 ) );
+ gap2 = Z[ nn - ( 7*strideZ ) ] + Z[ nn - ( 9*strideZ ) ] - ( sqrt( Z[ nn - ( 11*strideZ ) ] )*sqrt( Z[ nn - ( 9*strideZ ) ] ) ) - a2;
+ if ( gap2 > 0 && gap2 > ( b2*a2 ) ) {
+ s = max( s, a2*( 1 - ( CNST2*a2*( b2 / gap2 )*b2 ) ) );
+ } else {
+ s = max( s, a2*( 1 - ( CNST2*b2 ) ) );
+ }
+ } else {
+ // Case 11.
+ s = 0.25*DMIN2;
+ ttype = -11;
+ }
+ } else if ( N0IN > ( N0 + 2 ) ) {
+ // Case 12, more than 2 eigenvalues deflated. No information.
+ s = 0;
+ ttype = -12;
+ }
+
+ tau = s;
+
+ idx2 = offsetOut;
+ out[ idx2 ] = tau;
+ idx2 += strideOut;
+ out[ idx2 ] = ttype;
+ idx2 += strideOut;
+ out[ idx2 ] = G;
+ return out;
+}
+
+
+// EXPORTS //
+
+module.exports = dlasq4;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/dlasq4.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/dlasq4.js
new file mode 100644
index 000000000000..c61110d7385d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/dlasq4.js
@@ -0,0 +1,70 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 base = require( './base.js' );
+
+
+// MAIN //
+
+/**
+* Computes an approximation to the smallest eigenvalue using values of d from the previous transform.
+*
+* ## Notes
+*
+* - `Z` is a 1-D array of length >= `4*N0` storing interleaved q/e values.
+* - `PP` is `0` for ping, `1` for pong.
+* - `TAU` is approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+* - `TTYPE` is an integer flag describing how TAU was computed.
+* - `G` is a state variable that is preserved across successive calls and is used to regulate the magnitude of fallback shifts.
+*
+* @param {integer} I0 - first index
+* @param {integer} N0 - last index
+* @param {Float64Array} Z - qd array
+* @param {integer} PP - ping-pong flag (0 or 1)
+* @param {integer} N0IN - value of `N0` at the start of `EIGTEST`
+* @param {number} DMIN - minimum value of `d`
+* @param {number} DMIN1 - minimum value of `d`, excluding `D(N0)`
+* @param {number} DMIN2 - minimum value of `d`, excluding `D(N0)` and `D(N0-1)`
+* @param {number} DN - `d(N)`
+* @param {number} DN1 - `d(N-1)`
+* @param {number} DN2 - `d(N-2)`
+* @param {number} G - saved state carried across calls
+* @param {Float64Array} out - output array containing `tau`, `ttype`, and `G`
+* @returns {Float64Array} output array
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var out = new Float64Array( 3 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+*
+* dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+* // out => [ ~0.05, -6, 0.25 ]
+*/
+function dlasq4( I0, N0, Z, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out ) { // eslint-disable-line max-len, max-params
+ return base( I0, N0, Z, 1, 0, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, 1, 0 );
+}
+
+
+// EXPORTS //
+
+module.exports = dlasq4;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/dlasq5.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/dlasq5.js
new file mode 100644
index 000000000000..8c938fe35377
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/dlasq5.js
@@ -0,0 +1,331 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 min = require( '@stdlib/math/base/special/min' );
+
+
+// MAIN //
+
+/**
+* Computes one dqds transform in ping-pong form.
+*
+* ## Notes
+*
+* - `Z` is a 1-D array of length >= `4*N0` storing interleaved q/e values.
+* - `PP` is `0` for ping, `1` for pong.
+*
+* @private
+* @param {integer} I0 - the first index
+* @param {integer} N0 - the last index
+* @param {Float64Array} Z - the QD array
+* @param {integer} strideZ - stride length for `Z`
+* @param {NonNegativeInteger} offsetZ - starting index for `Z`
+* @param {integer} PP - ping-pong flag (0 or 1)
+* @param {number} TAU - the shift
+* @param {number} SIGMA - the accumulated shift
+* @param {boolean} IEEE - IEEE arithmetic flag
+* @param {number} EPS - epsilon used by the routine
+* @param {Float64Array} out - output array containing `DMIN`, `DMIN1`, `DMIN2`, `DN`, `DNM1`, and `DNM2` respectively
+* @param {integer} strideOut - stride length for `out`
+* @param {NonNegativeInteger} offsetOut - starting index of `out`
+* @returns {Float64Array} output array
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var out = new Float64Array( 6 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 11, 0, 4, 0, 20, 0, 0, 0 ] );
+*
+* dlasq5( 0, 3, Z, 1, 0, 0, 0.1, 0.0, true, 2.220446049250313e-16, out, 1, 0 );
+* // out => [ ~3.606, ~3.606, ~3.606, ~11.823, ~5.904, ~3.606 ]
+*/
+function dlasq5( I0, N0, Z, strideZ, offsetZ, PP, TAU, SIGMA, IEEE, EPS, out, strideOut, offsetOut ) { // eslint-disable-line max-len, max-params
+ var dthresh;
+ var dmin1;
+ var dmin2;
+ var dnm1;
+ var dnm2;
+ var emin;
+ var dmin;
+ var temp;
+ var j4p2;
+ var idx;
+ var j4;
+ var dn;
+ var d;
+
+ // Quick return...
+ if ( ( N0 - I0 - 1 ) <= 0 ) {
+ return out;
+ }
+
+ dthresh = EPS * ( SIGMA + TAU );
+ if ( TAU < ( dthresh * 0.5 ) ) {
+ TAU = 0;
+ }
+
+ if ( TAU > 0 || TAU < 0 ) {
+ j4 = offsetZ + ( strideZ*( ( 4*I0 ) + PP ) );
+ emin = Z[ j4 + ( 4*strideZ ) ];
+ d = Z[ j4 ] - TAU;
+ dmin = d;
+ dmin1 = -Z[ j4 ];
+
+ if ( IEEE ) {
+ if ( PP === 0 ) {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 2*strideZ ) ] = d + Z[ j4 - strideZ ];
+ temp = Z[ j4 + strideZ ] / Z[ j4 - ( 2*strideZ ) ];
+ d = ( d*temp ) - TAU;
+ dmin = min( dmin, d );
+ Z[ j4 ] = Z[ j4 - strideZ ]*temp;
+ emin = min( Z[ j4 ], emin );
+ j4 += 4*strideZ;
+ }
+ } else {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 3*strideZ ) ] = d + Z[ j4 ];
+ temp = Z[ j4 + ( 2*strideZ ) ] / Z[ j4 - ( 3*strideZ ) ];
+ d = ( d*temp ) - TAU;
+ dmin = min( dmin, d );
+ Z[ j4 - strideZ ] = Z[ j4 ] * temp;
+ emin = min( Z[ j4 - strideZ ], emin );
+ j4 += 4*strideZ;
+ }
+ }
+
+ // Unroll last two steps.
+ dnm2 = d;
+ dmin2 = dmin;
+
+ j4 = offsetZ + ( strideZ * ( ( 4*N0 ) - 5 - PP ) );
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm2 + Z[ j4p2 ];
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dnm1 = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm2 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, dnm1 );
+
+ dmin1 = dmin;
+ j4 += 4*strideZ;
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm1 + Z[ j4p2 ];
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dn = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm1 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, dn );
+ } else {
+ if ( PP === 0 ) {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 2*strideZ ) ] = d + Z[ j4 - strideZ ];
+ if ( d < 0 ) {
+ return out;
+ }
+ Z[ j4 ] = Z[ j4 + strideZ ] * ( Z[ j4 - strideZ ] / Z[ j4 - ( 2*strideZ ) ] );
+ d = ( Z[ j4 + strideZ ]*( d / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, d );
+ emin = min( emin, Z[ j4 ] );
+ j4 += 4*strideZ;
+ }
+ } else {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 3*strideZ ) ] = d + Z[ j4 ];
+ if ( d < 0 ) {
+ return out;
+ }
+ Z[ j4 - strideZ ] = Z[ j4 + ( 2*strideZ ) ] * ( Z[ j4 ] / Z[ j4 - ( 3*strideZ ) ] );
+ d = ( Z[ j4 + ( 2*strideZ ) ]*( d / Z[ j4 - ( 3*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, d );
+ emin = min( emin, Z[ j4 - strideZ ] );
+ j4 += 4*strideZ;
+ }
+ }
+
+ // Unroll last two steps.
+ dnm2 = d;
+ dmin2 = dmin;
+
+ j4 = offsetZ + ( strideZ * ( ( 4*N0 ) - 5 - PP ) );
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm2 + Z[ j4p2 ];
+ if ( dnm2 < 0 ) {
+ return out;
+ }
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dnm1 = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm2 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, dnm1 );
+
+ dmin1 = dmin;
+ j4 += 4*strideZ;
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm1 + Z[ j4p2 ];
+ if ( dnm1 < 0 ) {
+ return out;
+ }
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dn = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm1 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, dn );
+ }
+ } else {
+ // This is the version that sets d's to zero if they are small enough
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + PP ) );
+ emin = Z[ j4 + ( 4*strideZ ) ];
+ d = Z[ j4 ];
+ dmin = d;
+ dmin1 = -Z[ j4 ];
+
+ if ( IEEE ) {
+ if ( PP === 0 ) {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 2*strideZ ) ] = d + Z[ j4 - strideZ ];
+ temp = Z[ j4 + strideZ ] / Z[ j4 - ( 2*strideZ ) ];
+ d = ( d*temp ) - TAU;
+ if ( d < dthresh ) {
+ d = 0;
+ }
+ dmin = min( dmin, d );
+ Z[ j4 ] = Z[ j4 - strideZ ] * temp;
+ emin = min( Z[ j4 ], emin );
+ j4 += 4*strideZ;
+ }
+ } else {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 3*strideZ ) ] = d + Z[ j4 ];
+ temp = Z[ j4 + ( 2*strideZ ) ] / Z[ j4 - ( 3*strideZ ) ];
+ d = ( d*temp ) - TAU;
+ if ( d < dthresh ) {
+ d = 0;
+ }
+ dmin = min( dmin, d );
+ Z[ j4 - strideZ ] = Z[ j4 ] * temp;
+ emin = min( Z[ j4 - strideZ ], emin );
+ j4 += 4*strideZ;
+ }
+ }
+
+ // Unroll last two steps.
+ dnm2 = d;
+ dmin2 = dmin;
+
+ j4 = offsetZ + ( strideZ * ( ( 4*N0 ) - 5 - PP ) );
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm2 + Z[ j4p2 ];
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dnm1 = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm2 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, dnm1 );
+
+ dmin1 = dmin;
+ j4 += 4*strideZ;
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm1 + Z[ j4p2 ];
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dn = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm1 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, dn );
+ } else {
+ if ( PP === 0 ) {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 2*strideZ ) ] = d + Z[ j4 - strideZ ];
+ if ( d < 0 ) {
+ return out;
+ }
+ Z[ j4 ] = Z[ j4 + strideZ ] * ( Z[ j4 - strideZ ] / Z[ j4 - ( 2*strideZ ) ] );
+ d = ( Z[ j4 + strideZ ]*( d / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ if ( d < dthresh ) {
+ d = 0;
+ }
+ dmin = min( dmin, d );
+ emin = min( emin, Z[ j4 ] );
+ j4 += 4*strideZ;
+ }
+ } else {
+ j4 = offsetZ + ( strideZ * ( ( 4*I0 ) + 3 ) );
+ for ( idx = ( 4*I0 ) + 3; idx <= ( 4*N0 ) - 9; idx += 4 ) {
+ Z[ j4 - ( 3*strideZ ) ] = d + Z[ j4 ];
+ if ( d < 0 ) {
+ return out;
+ }
+ Z[ j4 - strideZ ] = Z[ j4 + ( 2*strideZ ) ] * ( Z[ j4 ] / Z[ j4 - ( 3*strideZ ) ] );
+ d = ( Z[ j4 + ( 2*strideZ ) ]*( d / Z[ j4 - ( 3*strideZ ) ] ) ) - TAU;
+ if ( d < dthresh ) {
+ d = 0;
+ }
+ dmin = min( dmin, d );
+ emin = min( emin, Z[ j4 - strideZ ] );
+ j4 += 4*strideZ;
+ }
+ }
+
+ // Unroll last two steps.
+ dnm2 = d;
+ dmin2 = dmin;
+
+ j4 = offsetZ + ( strideZ * ( ( 4*N0 ) - 5 - PP ) );
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm2 + Z[ j4p2 ];
+ if ( dnm2 < 0 ) {
+ return out;
+ }
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dnm1 = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm2 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+
+ dmin = min( dmin, dnm1 );
+ dmin1 = dmin;
+ j4 += 4*strideZ;
+ j4p2 = j4 + ( strideZ * ( ( 2*PP ) - 1 ) );
+ Z[ j4 - ( 2*strideZ ) ] = dnm1 + Z[ j4p2 ];
+ if ( dnm1 < 0 ) {
+ return out;
+ }
+ Z[ j4 ] = Z[ j4p2 + ( 2*strideZ ) ] * ( Z[ j4p2 ] / Z[ j4 - ( 2*strideZ ) ] );
+ dn = ( Z[ j4p2 + ( 2*strideZ ) ]*( dnm1 / Z[ j4 - ( 2*strideZ ) ] ) ) - TAU;
+ dmin = min( dmin, dn );
+ }
+ }
+
+ Z[ j4 + ( 2*strideZ ) ] = dn;
+ Z[ offsetZ + ( strideZ * ( ( 4*N0 ) + 3 - PP ) ) ] = emin;
+
+ idx = offsetOut;
+ out[ idx ] = dmin;
+ idx += strideOut;
+ out[ idx ] = dmin1;
+ idx += strideOut;
+ out[ idx ] = dmin2;
+ idx += strideOut;
+ out[ idx ] = dn;
+ idx += strideOut;
+ out[ idx ] = dnm1;
+ idx += strideOut;
+ out[ idx ] = dnm2;
+
+ return out;
+}
+
+
+// EXPORTS //
+
+module.exports = dlasq5;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/index.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/index.js
new file mode 100644
index 000000000000..cafaba236e16
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/index.js
@@ -0,0 +1,79 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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';
+
+/**
+* Compute an approximation to the smallest eigenvalue using values of d from the previous transform.
+*
+* ## Notes
+*
+* - Z is a 1-D array of length >= 4*N0 storing interleaved q/e values.
+* - PP is 0 for ping, 1 for pong.
+* - TAU is an approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+* - TTYPE is an integer flag describing how TAU was computed.
+* - G is a state variable that is preserved across successive calls and is used to regulate the magnitude of fallback shifts.
+*
+* @module @stdlib/lapack/base/dlasq4
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+* var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+*
+* var out = new Float64Array( 3 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+*
+* dlasq4( 0, 3, Z, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out );
+* // out => [ ~0.05, -6, 0.25 ]
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+* var dlasq4 = require( '@stdlib/lapack/base/dlasq4' );
+*
+* var out = new Float64Array( 3 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+*
+* dlasq4.ndarray( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 );
+* // out => [ ~0.05, -6, 0.25 ]
+*/
+
+
+// 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 dlasq4;
+var tmp = tryRequire( join( __dirname, './native.js' ) );
+if ( isError( tmp ) ) {
+ dlasq4 = main;
+} else {
+ dlasq4 = tmp;
+}
+
+
+// EXPORTS //
+
+module.exports = dlasq4;
+
+// exports: { "ndarray": "dlasq4.ndarray" }
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/main.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/main.js
new file mode 100644
index 000000000000..47757da411e6
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/main.js
@@ -0,0 +1,35 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 dlasq4 = require( './dlasq4.js' );
+var ndarray = require( './ndarray.js' );
+
+
+// MAIN //
+
+setReadOnly( dlasq4, 'ndarray', ndarray );
+
+
+// EXPORTS //
+
+module.exports = dlasq4;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/ndarray.js
new file mode 100644
index 000000000000..fb07b4d016e6
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/lib/ndarray.js
@@ -0,0 +1,74 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 base = require( './base.js' );
+
+
+// MAIN //
+
+/**
+* Computes an approximation to the smallest eigenvalue using values of d from the previous transform using alternative indexing semantics.
+*
+* ## Notes
+*
+* - `Z` is a 1-D array of length >= `4*N0` storing interleaved q/e values.
+* - `PP` is `0` for ping, `1` for pong.
+* - `TAU` is approximation to the smallest eigenvalue and is used as a shift to accelerate convergence of the dqds iteration.
+* - `TTYPE` is an integer flag describing how TAU was computed.
+* - `G` is a state variable that is preserved across successive calls and is used to regulate the magnitude of fallback shifts.
+*
+* @param {integer} I0 - first index
+* @param {integer} N0 - last index
+* @param {Float64Array} Z - qd array
+* @param {integer} strideZ - stride length for `Z`
+* @param {NonNegativeInteger} offsetZ - starting index for `Z`
+* @param {integer} PP - ping-pong flag (0 or 1)
+* @param {integer} N0IN - value of `N0` at the start of `EIGTEST`
+* @param {number} DMIN - minimum value of `d`
+* @param {number} DMIN1 - minimum value of `d`, excluding `D(N0)`
+* @param {number} DMIN2 - minimum value of `d`, excluding `D(N0)` and `D(N0-1)`
+* @param {number} DN - `d(N)`
+* @param {number} DN1 - `d(N-1)`
+* @param {number} DN2 - `d(N-2)`
+* @param {number} G - saved state carried across calls
+* @param {Float64Array} out - output array containing `tau`, `ttype`, and `G`
+* @param {integer} strideOut - stride length for `out`
+* @param {NonNegativeInteger} offsetOut - starting index for `out`
+* @returns {Float64Array} output array
+*
+* @example
+* var Float64Array = require( '@stdlib/array/float64' );
+*
+* var out = new Float64Array( 3 );
+* var Z = new Float64Array( [ 5, 0, 7, 0, 9, 0, 3, 0, 10, 0, 4.5, 0, 18, 0, 0, 0 ] );
+*
+* dlasq4( 0, 3, Z, 1, 0, 0, 3, 0.2, 0.15, 0.1, 0.8, 0.7, 0.6, -6, out, 1, 0 );
+* // out => [ ~0.05, -6, 0.25 ]
+*/
+function dlasq4( I0, N0, Z, strideZ, offsetZ, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, strideOut, offsetOut ) { // eslint-disable-line max-len, max-params
+ return base( I0, N0, Z, strideZ, offsetZ, PP, N0IN, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G, out, strideOut, offsetOut );
+}
+
+
+// EXPORTS //
+
+module.exports = dlasq4;
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/package.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/package.json
new file mode 100644
index 000000000000..d2ecffb5a419
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/package.json
@@ -0,0 +1,72 @@
+{
+ "name": "@stdlib/lapack/base/dlasq4",
+ "version": "0.0.0",
+ "description": "Compute an approximation to the smallest eigenvalue using values of d from the previous transform.",
+ "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",
+ "svd",
+ "decomposition",
+ "dlasq4",
+ "exchange",
+ "permute",
+ "permutedims",
+ "linear",
+ "algebra",
+ "subroutines",
+ "array",
+ "ndarray",
+ "float64",
+ "double",
+ "float64array"
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-1.json
new file mode 100644
index 000000000000..0054a21aa8bb
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-1.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 5,
+ 9999,
+ 0,
+ 9999,
+ 7,
+ 9999,
+ 0,
+ 9999,
+ 9,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 10,
+ 9999,
+ 0,
+ 9999,
+ 4.5,
+ 9999,
+ 0,
+ 9999,
+ 18,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": -0.5,
+ "DMIN1": 0.15,
+ "DMIN2": 0.1,
+ "DN": 0.8,
+ "DN1": 0.7,
+ "DN2": 0.6,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.5,
+ 9999,
+ -1,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-1.json
new file mode 100644
index 000000000000..e957685d901c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-1.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 4,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 4,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 4,
+ 9999,
+ -10,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-2.json
new file mode 100644
index 000000000000..3dce1c4512eb
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-2.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -10,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-3.json
new file mode 100644
index 000000000000..1b94a8162e37
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-3.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.001,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.2158072020238025,
+ 9999,
+ -10,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-4.json
new file mode 100644
index 000000000000..ee0f506b725a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10-4.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ -10,
+ 9999,
+ 0,
+ 9999,
+ -6,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 1,
+ "DMIN1": 1,
+ "DMIN2": 2,
+ "DN": 1,
+ "DN1": 1,
+ "DN2": 2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -10,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10.json
new file mode 100644
index 000000000000..05543c499975
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-10.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 3,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.1771236049172809,
+ 9999,
+ -10,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-11.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-11.json
new file mode 100644
index 000000000000..9d6a31b1af15
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-11.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.075,
+ 9999,
+ -11,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-12.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-12.json
new file mode 100644
index 000000000000..c3e3607613bf
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-12.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -12,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-2.json
new file mode 100644
index 000000000000..1c33562b38c0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-2.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.0001,
+ 9999,
+ 0,
+ 9999,
+ 0.0001,
+ 9999,
+ 0,
+ 9999,
+ 0.0001,
+ 9999,
+ 0,
+ 9999,
+ 0.0001,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.00001,
+ "DMIN1": 0.00001,
+ "DMIN2": 1,
+ "DN": 0.00001,
+ "DN1": 0.00001,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.000005,
+ 9999,
+ -2,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-3-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-3-1.json
new file mode 100644
index 000000000000..63924a5c5455
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-3-1.json
@@ -0,0 +1,61 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 4,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 3,
+ "DMIN1": 2,
+ "DMIN2": 4,
+ "DN": 3,
+ "DN1": 2,
+ "DN2": 4,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 2,
+ 9999,
+ -3,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-3.json
new file mode 100644
index 000000000000..c38e48cb9821
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-3.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 10,
+ 9999,
+ 0,
+ 9999,
+ 10,
+ 9999,
+ 0,
+ 9999,
+ 10,
+ 9999,
+ 0,
+ 9999,
+ 10,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.1,
+ "DMIN1": 0.1,
+ "DMIN2": 5,
+ "DN": 0.1,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.0333,
+ 9999,
+ -3,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-1.json
new file mode 100644
index 000000000000..4423c84f1a59
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-1.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.5,
+ 9999,
+ -4,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-2.json
new file mode 100644
index 000000000000..bdbde7ca513e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-2.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.5,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -4,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-3.json
new file mode 100644
index 000000000000..dcb0f4f70e72
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-3.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.5,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.6,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.125,
+ 9999,
+ -4,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-4.json
new file mode 100644
index 000000000000..392f1cc8a755
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-4.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 2,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -4,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-5.json
new file mode 100644
index 000000000000..270afd220ee2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-5.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -4,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-6.json
new file mode 100644
index 000000000000..f484115f8447
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4-6.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.125,
+ 9999,
+ -4,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4.json
new file mode 100644
index 000000000000..e28c361e42ba
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-4.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -4,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-1.json
new file mode 100644
index 000000000000..a5efb547f9b5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-1.json
@@ -0,0 +1,59 @@
+{
+ "I0": 2,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.125,
+ 9999,
+ -5,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-2.json
new file mode 100644
index 000000000000..715f0934b33e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-2.json
@@ -0,0 +1,67 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.5,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0.5,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0.5,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -5,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-3.json
new file mode 100644
index 000000000000..04d2da42de05
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-3.json
@@ -0,0 +1,67 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0.5,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0.5,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.125,
+ 9999,
+ -5,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-4.json
new file mode 100644
index 000000000000..1e9ade09254a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-4.json
@@ -0,0 +1,67 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0.5,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0.5,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.125,
+ 9999,
+ -5,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-5.json
new file mode 100644
index 000000000000..ba92708829f2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5-5.json
@@ -0,0 +1,67 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.01,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0.01,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0.01,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.4163529222368244,
+ 9999,
+ -5,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5.json
new file mode 100644
index 000000000000..3a35b9f9c164
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-5.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 2,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -5,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-6.json
new file mode 100644
index 000000000000..6fd21ce62eb8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-6.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.1,
+ "DN1": 0.2,
+ "DN2": 0.3,
+ "G": 0.8,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.125,
+ 9999,
+ -6,
+ 9999,
+ 0.25,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-1.json
new file mode 100644
index 000000000000..469a9341c835
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-1.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.1,
+ 9999,
+ -7,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-2.json
new file mode 100644
index 000000000000..e8caf7113821
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-2.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.5,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -7,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-3.json
new file mode 100644
index 000000000000..7b2f91eb0e6a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-3.json
@@ -0,0 +1,75 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.0333,
+ 9999,
+ -8,
+ 9999,
+ -6,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-4.json
new file mode 100644
index 000000000000..6ba98d965bd6
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7-4.json
@@ -0,0 +1,75 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.000001,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.000001,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.0333,
+ 9999,
+ -8,
+ 9999,
+ -6,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7.json
new file mode 100644
index 000000000000..27f7a573dd0e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-7.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 2,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.5,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.5,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0,
+ 9999,
+ -7,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-8.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-8.json
new file mode 100644
index 000000000000..66f856ac1e3d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-8.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.3,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.3,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.3,
+ 9999,
+ -8,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-9.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-9.json
new file mode 100644
index 000000000000..871b4f322ccc
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/large_strides/ttype_-9.json
@@ -0,0 +1,59 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.5,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0.01,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 1,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999,
+ 0,
+ 9999
+ ],
+ "strideZ": 2,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.01,
+ "DMIN1": 0.01,
+ "DMIN2": 10,
+ "DN": 0.01,
+ "DN1": 0.01,
+ "DN2": 5,
+ "G": 0,
+ "strideOut": 2,
+ "offsetOut": 0,
+ "expectedOut": [
+ 0.005,
+ 9999,
+ -9,
+ 9999,
+ 0,
+ 9999
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-1.json
new file mode 100644
index 000000000000..32ed36647467
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-1.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 18,
+ 0,
+ 4.5,
+ 0,
+ 10,
+ 0,
+ 3,
+ 0,
+ 9,
+ 0,
+ 7,
+ 0,
+ 5
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": -0.5,
+ "DMIN1": 0.15,
+ "DMIN2": 0.1,
+ "DN": 0.8,
+ "DN1": 0.7,
+ "DN2": 0.6,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -1,
+ 0.5
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-1.json
new file mode 100644
index 000000000000..bae7fed89dae
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-1.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 3,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 4,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 4,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -10,
+ 4
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-2.json
new file mode 100644
index 000000000000..fa7720023fec
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-2.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 3,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -10,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-3.json
new file mode 100644
index 000000000000..7b3b5e2655b8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-3.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 3,
+ 0,
+ 0.001,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -10,
+ 0.2158072020238025
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-4.json
new file mode 100644
index 000000000000..defbfcd3fccc
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10-4.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -6,
+ 0,
+ -10,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 1,
+ "DMIN1": 1,
+ "DMIN2": 2,
+ "DN": 1,
+ "DN1": 1,
+ "DN2": 2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -10,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10.json
new file mode 100644
index 000000000000..7b86a30949ef
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-10.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 3,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -10,
+ 0.1771236049172809
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-11.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-11.json
new file mode 100644
index 000000000000..77f4b623f5c0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-11.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -11,
+ 0.075
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-12.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-12.json
new file mode 100644
index 000000000000..b9ee76770d6c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-12.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -12,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-2.json
new file mode 100644
index 000000000000..aee975219798
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-2.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 0.0001,
+ 0,
+ 0.0001,
+ 0,
+ 0.0001,
+ 0,
+ 0.0001,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.00001,
+ "DMIN1": 0.00001,
+ "DMIN2": 1,
+ "DN": 0.00001,
+ "DN1": 0.00001,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -2,
+ 0.000005
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-3-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-3-1.json
new file mode 100644
index 000000000000..b5bfc16939d7
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-3-1.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 4,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": -1,
+ "offsetZ": 16,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 3,
+ "DMIN1": 2,
+ "DMIN2": 4,
+ "DN": 3,
+ "DN1": 2,
+ "DN2": 4,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -3,
+ 2
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-3.json
new file mode 100644
index 000000000000..f4f316de7e73
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-3.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 10,
+ 0,
+ 10,
+ 0,
+ 10,
+ 0,
+ 10,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.1,
+ "DMIN1": 0.1,
+ "DMIN2": 5,
+ "DN": 0.1,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -3,
+ 0.0333
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-1.json
new file mode 100644
index 000000000000..ee642a415132
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-1.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -4,
+ 0.5
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-2.json
new file mode 100644
index 000000000000..91289e1f147b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-2.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -4,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-3.json
new file mode 100644
index 000000000000..56c1b7b27817
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-3.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0.6,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -4,
+ 0.125
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-4.json
new file mode 100644
index 000000000000..8940a235190a
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-4.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 1,
+ 1,
+ 2,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -4,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-5.json
new file mode 100644
index 000000000000..f30a3b2d3759
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-5.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 2,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -4,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-6.json
new file mode 100644
index 000000000000..3fade0a44e1c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4-6.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -4,
+ 0.125
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4.json
new file mode 100644
index 000000000000..04e08aaacbee
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-4.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -4,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-1.json
new file mode 100644
index 000000000000..cd28430afec5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-1.json
@@ -0,0 +1,41 @@
+{
+ "I0": 2,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -5,
+ 0.125
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-2.json
new file mode 100644
index 000000000000..1d6f07a17640
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-2.json
@@ -0,0 +1,45 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 0,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 19,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -5,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-3.json
new file mode 100644
index 000000000000..3d3dcfe92bad
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-3.json
@@ -0,0 +1,45 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 0,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 19,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -5,
+ 0.125
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-4.json
new file mode 100644
index 000000000000..808ed8690bc8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-4.json
@@ -0,0 +1,45 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 0,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 19,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -5,
+ 0.125
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-5.json
new file mode 100644
index 000000000000..e61d0ca49bd7
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5-5.json
@@ -0,0 +1,45 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 0,
+ 1,
+ 1,
+ 1,
+ 0.01,
+ 1,
+ 1,
+ 1,
+ 0.01,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.01,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 19,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -5,
+ 0.4163529222368244
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5.json
new file mode 100644
index 000000000000..37094dac4966
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-5.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 2,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -5,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-6.json
new file mode 100644
index 000000000000..d8bff0a47226
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-6.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.1,
+ "DN1": 0.2,
+ "DN2": 0.3,
+ "G": 0.8,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0.25,
+ -6,
+ 0.125
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-1.json
new file mode 100644
index 000000000000..ef4f46badb92
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-1.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -7,
+ 0.1
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-2.json
new file mode 100644
index 000000000000..69e7eef5126c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-2.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -7,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-3.json
new file mode 100644
index 000000000000..0c5f6cfec9fe
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-3.json
@@ -0,0 +1,49 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": -1,
+ "offsetZ": 23,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ -6,
+ -8,
+ 0.0333
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-4.json
new file mode 100644
index 000000000000..ad671de3da6d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7-4.json
@@ -0,0 +1,49 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 0.000001,
+ 0,
+ 1,
+ 0,
+ 0.000001,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": -1,
+ "offsetZ": 23,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ -6,
+ -8,
+ 0.0333
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7.json
new file mode 100644
index 000000000000..75dfe820cff9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-7.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.5,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.5,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -7,
+ 0
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-8.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-8.json
new file mode 100644
index 000000000000..671308a7ba65
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-8.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.3,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.3,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -8,
+ 0.3
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-9.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-9.json
new file mode 100644
index 000000000000..590f4cebb4d8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/negative_strides/ttype_-9.json
@@ -0,0 +1,41 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.01,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1
+ ],
+ "strideZ": -1,
+ "offsetZ": 15,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.01,
+ "DMIN1": 0.01,
+ "DMIN2": 10,
+ "DN": 0.01,
+ "DN1": 0.01,
+ "DN2": 5,
+ "G": 0,
+ "strideOut": -1,
+ "offsetOut": 2,
+ "expectedOut": [
+ 0,
+ -9,
+ 0.005
+ ],
+ "offsetExpectedOut": 2
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-1.json
new file mode 100644
index 000000000000..812a683324aa
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-1.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 5,
+ 0,
+ 7,
+ 0,
+ 9,
+ 0,
+ 3,
+ 0,
+ 10,
+ 0,
+ 4.5,
+ 0,
+ 18,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": -0.5,
+ "DMIN1": 0.15,
+ "DMIN2": 0.1,
+ "DN": 0.8,
+ "DN1": 0.7,
+ "DN2": 0.6,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.5,
+ -1,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-1.json
new file mode 100644
index 000000000000..9ad80d1f76c4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-1.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 3,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 4,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 4,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 4,
+ -10,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-2.json
new file mode 100644
index 000000000000..16e5f3c09cd9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-2.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 3,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -10,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-3.json
new file mode 100644
index 000000000000..309e9d5e3ae2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-3.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.001,
+ 0,
+ 3,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.2158072020238025,
+ -10,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-4.json
new file mode 100644
index 000000000000..824a75ed1b0d
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10-4.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -10,
+ 0,
+ -6,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 1,
+ "DMIN1": 1,
+ "DMIN2": 2,
+ "DN": 1,
+ "DN1": 1,
+ "DN2": 2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -10,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10.json
new file mode 100644
index 000000000000..c4cb3925137c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-10.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 3,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.1771236049172809,
+ -10,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-11.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-11.json
new file mode 100644
index 000000000000..adf8f6942ef9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-11.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.075,
+ -11,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-12.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-12.json
new file mode 100644
index 000000000000..d6f34f58a6a8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-12.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -12,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-2.json
new file mode 100644
index 000000000000..2923d4930777
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-2.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.0001,
+ 0,
+ 0.0001,
+ 0,
+ 0.0001,
+ 0,
+ 0.0001,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.00001,
+ "DMIN1": 0.00001,
+ "DMIN2": 1,
+ "DN": 0.00001,
+ "DN1": 0.00001,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.000005,
+ -2,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-3-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-3-1.json
new file mode 100644
index 000000000000..81c9b04ad4a2
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-3-1.json
@@ -0,0 +1,43 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 4,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 3,
+ "DMIN1": 2,
+ "DMIN2": 4,
+ "DN": 3,
+ "DN1": 2,
+ "DN2": 4,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 2,
+ -3,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-3.json
new file mode 100644
index 000000000000..c6dad11840b5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-3.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 10,
+ 0,
+ 10,
+ 0,
+ 10,
+ 0,
+ 10,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.1,
+ "DMIN1": 0.1,
+ "DMIN2": 5,
+ "DN": 0.1,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.0333,
+ -3,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-1.json
new file mode 100644
index 000000000000..df7745acb5e9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-1.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.5,
+ -4,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-2.json
new file mode 100644
index 000000000000..aea85bb27acd
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-2.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -4,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-3.json
new file mode 100644
index 000000000000..204e20057cd5
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-3.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 0.6,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.125,
+ -4,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-4.json
new file mode 100644
index 000000000000..dd8f01708a14
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-4.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 2,
+ 1,
+ 1,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -4,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-5.json
new file mode 100644
index 000000000000..337d1fc076b0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-5.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 2,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -4,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-6.json
new file mode 100644
index 000000000000..6d50d2b8d79b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4-6.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.125,
+ -4,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4.json
new file mode 100644
index 000000000000..23f6ae8fe775
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-4.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -4,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-1.json
new file mode 100644
index 000000000000..29666ba3abda
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-1.json
@@ -0,0 +1,42 @@
+{
+ "I0": 2,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.125,
+ -5,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-2.json
new file mode 100644
index 000000000000..a4b1c575d83c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-2.json
@@ -0,0 +1,46 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -5,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-3.json
new file mode 100644
index 000000000000..1cfce24c32b9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-3.json
@@ -0,0 +1,46 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.125,
+ -5,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-4.json
new file mode 100644
index 000000000000..34a86e648692
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-4.json
@@ -0,0 +1,46 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0.5,
+ 1,
+ 1,
+ 1,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.125,
+ -5,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-5.json
new file mode 100644
index 000000000000..4a7da48208b0
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5-5.json
@@ -0,0 +1,46 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 0.1,
+ 0,
+ 1,
+ 0,
+ 0.01,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0.01,
+ 1,
+ 1,
+ 1,
+ 0.01,
+ 1,
+ 1,
+ 1,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.4163529222368244,
+ -5,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5.json
new file mode 100644
index 000000000000..c81649b65a20
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-5.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 2,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -5,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-6.json
new file mode 100644
index 000000000000..7b715eebfb2e
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-6.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.1,
+ "DN1": 0.2,
+ "DN2": 0.3,
+ "G": 0.8,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.125,
+ -6,
+ 0.25
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-1.json
new file mode 100644
index 000000000000..595cf00d004b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-1.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.1,
+ -7,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-2.json
new file mode 100644
index 000000000000..47566fa411fb
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-2.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -7,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-3.json
new file mode 100644
index 000000000000..3f75b5ac935f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-3.json
@@ -0,0 +1,50 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [
+ 9999,
+ 0,
+ 0,
+ 0,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.0333,
+ -8,
+ -6
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-4.json
new file mode 100644
index 000000000000..9ba8553092fb
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7-4.json
@@ -0,0 +1,50 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [
+ 9999,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0.000001,
+ 0,
+ 1,
+ 0,
+ 0.000001,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.0333,
+ -8,
+ -6
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7.json
new file mode 100644
index 000000000000..e3f895658885
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-7.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.5,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.5,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0,
+ -7,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-8.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-8.json
new file mode 100644
index 000000000000..c9b97c268cf8
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-8.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.3,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.3,
+ "DN2": 0.3,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.3,
+ -8,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-9.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-9.json
new file mode 100644
index 000000000000..ee6e950510ad
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/offsets/ttype_-9.json
@@ -0,0 +1,42 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [
+ 9999,
+ 1,
+ 0,
+ 0.5,
+ 0,
+ 1,
+ 0,
+ 0.01,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "strideZ": 1,
+ "offsetZ": 1,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.01,
+ "DMIN1": 0.01,
+ "DMIN2": 10,
+ "DN": 0.01,
+ "DN1": 0.01,
+ "DN2": 5,
+ "G": 0,
+ "strideOut": 1,
+ "offsetOut": 1,
+ "expectedOut": [
+ 9999,
+ 0.005,
+ -9,
+ 0
+ ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-1.json
new file mode 100644
index 000000000000..bf147efa3974
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-1.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [5,0,7,0,9,0,3,0,10,0,4.5,0,18,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": -0.5,
+ "DMIN1": 0.15,
+ "DMIN2": 0.1,
+ "DN": 0.8,
+ "DN1": 0.7,
+ "DN2": 0.6,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.5, -1, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-1.json
new file mode 100644
index 000000000000..cf838b94af57
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-1.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,3,0,0,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 4.0,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 4.0,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [4, -10, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-2.json
new file mode 100644
index 000000000000..f0aa29a941c9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-2.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,2,0,3,0,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0,-10,0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-3.json
new file mode 100644
index 000000000000..b3f535860b40
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-3.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,0.001,0,3,0,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.21580720202380249, -10, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-4.json
new file mode 100644
index 000000000000..ecbfe6d7cca9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10-4.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -10.0, 0.0, -6.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 1.0,
+ "DMIN1": 1.0,
+ "DMIN2": 2.0,
+ "DN": 1.0,
+ "DN1": 1.0,
+ "DN2": 2.0,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0, -10, 0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10.json
new file mode 100644
index 000000000000..fbea10294ff9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-10.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [2,0,1,0,2,0,1,0,3,0,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.17712360491728091, -10, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-11.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-11.json
new file mode 100644
index 000000000000..8227af7fe418
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-11.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 5,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [7.4999999999999997e-002, -11, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-12.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-12.json
new file mode 100644
index 000000000000..47b20223fc0b
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-12.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.4,
+ "DN2": 0.3,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.0, -12, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-2.json
new file mode 100644
index 000000000000..a91b52bffa83
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-2.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1e-4,0,1e-4,0,1e-4,0,1e-4,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 1e-5,
+ "DMIN1": 1e-5,
+ "DMIN2": 1.0,
+ "DN": 1e-5,
+ "DN1": 1e-5,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [5e-6, -2, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-3-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-3-1.json
new file mode 100644
index 000000000000..01ca6d591357
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-3-1.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 4.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 3.0,
+ "DMIN1": 2.0,
+ "DMIN2": 4.0,
+ "DN": 3.0,
+ "DN1": 2.0,
+ "DN2": 4.0,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [2, -3, 0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-3.json
new file mode 100644
index 000000000000..e9d6165e48d3
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-3.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,10,0,10,0,10,0,10,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.1,
+ "DMIN1": 0.1,
+ "DMIN2": 5.0,
+ "DN": 0.1,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [3.33e-2, -3, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-1.json
new file mode 100644
index 000000000000..b808921e2206
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-1.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.5, -4, 0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-2.json
new file mode 100644
index 000000000000..e028666ae42f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-2.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,2,0,1,0,0.5,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0,-4,0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-3.json
new file mode 100644
index 000000000000..84bc179f2c8c
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-3.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,0.5,0,1,0,0.6,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.125, -4, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-4.json
new file mode 100644
index 000000000000..cbcd06e5cba4
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-4.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,1,2,1,1,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0,-4,0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-5.json
new file mode 100644
index 000000000000..8b45dd153ca7
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-5.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,2,0,1,0,1,1,1,2,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0,-4,0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-6.json
new file mode 100644
index 000000000000..d2f60d3f2746
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4-6.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1.0, 0.0, 0.1, 0.0, 1.0, 0.0, 0.1, 0.0, 1.0, 0.0, 0.1, 0.0, 1.0, 0.0, 0.0, 0.0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.5,
+ "DN2": 0.2,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.125, -4, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4.json
new file mode 100644
index 000000000000..b4c921375580
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-4.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,2,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.2,
+ "DMIN2": 0.1,
+ "DN": 0.5,
+ "DN1": 0.3,
+ "DN2": 0.2,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0, -4, 0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-1.json
new file mode 100644
index 000000000000..4090c66fdf1f
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-1.json
@@ -0,0 +1,19 @@
+{
+ "I0": 2,
+ "N0": 3,
+ "Z": [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.125, -5, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-2.json
new file mode 100644
index 000000000000..d40f327f0115
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-2.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [1,0,2,0,1,0,0.5,0,1,0,1,0.5,1,1,1,0.5,1,1,1,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0,-5,0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-3.json
new file mode 100644
index 000000000000..eebde6ed0783
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-3.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [1,0,1,0,1,0,0,0,1,0,1,0.5,1,1,1,0.5,1,1,1,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.125, -5, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-4.json
new file mode 100644
index 000000000000..8ad58fa9cd61
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-4.json
@@ -0,0 +1,18 @@
+{
+ "I0": 0, "N0": 4,
+ "Z": [1,0,1,0,0.1,0,1,0,1,0,1,0.5,1,1,1,0.5,1,1,1,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.125, -5, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-5.json
new file mode 100644
index 000000000000..cc9b3aa1e0fd
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5-5.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 4,
+ "Z": [1,0,0.1,0,1,0,0.01,0,1,0,1,0.01,1,1,1,0.01,1,1,1,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.41635292223682441, -5, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5.json
new file mode 100644
index 000000000000..5971c1e6abea
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-5.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,2,1,1,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.3,
+ "DN1": 0.4,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0, -5, 0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-6.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-6.json
new file mode 100644
index 000000000000..2337f714f974
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-6.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 3,
+ "DMIN": 0.5,
+ "DMIN1": 0.3,
+ "DMIN2": 0.1,
+ "DN": 0.1,
+ "DN1": 0.2,
+ "DN2": 0.3,
+ "G": 0.8,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.125, -6, 0.25]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-1.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-1.json
new file mode 100644
index 000000000000..0a4176413a35
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-1.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.1, -7, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-2.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-2.json
new file mode 100644
index 000000000000..609fce7c3323
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-2.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,2,0,1,0,0.5,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.2,
+ "DMIN1": 0.1,
+ "DMIN2": 0.5,
+ "DN": 0.2,
+ "DN1": 0.1,
+ "DN2": 0.5,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0,-7,0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-3.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-3.json
new file mode 100644
index 000000000000..7e5d4f92d405
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-3.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 0.0, 2.0, 0.0, 1.0, 0.0, 2.0, 0.0, 1.0, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [3.3300000000000003e-2, -8, -6]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-4.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-4.json
new file mode 100644
index 000000000000..5e75eec6e260
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7-4.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 5,
+ "Z": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.000001, 0.0, 1.0, 0.0, 0.000001, 0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 6,
+ "DMIN": 0.5,
+ "DMIN1": 0.1,
+ "DMIN2": 0.2,
+ "DN": 0.8,
+ "DN1": 0.1,
+ "DN2": 0.2,
+ "G": -6.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [ 3.3300000000000003e-2, -8, -6 ]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7.json
new file mode 100644
index 000000000000..b1f0c5fc2793
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-7.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,2,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.5,
+ "DMIN1": 0.5,
+ "DMIN2": 0.3,
+ "DN": 0.5,
+ "DN1": 0.5,
+ "DN2": 0.3,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0,-7,0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-8.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-8.json
new file mode 100644
index 000000000000..75faa1d12035
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-8.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.3,
+ "DMIN1": 0.3,
+ "DMIN2": 0.3,
+ "DN": 0.3,
+ "DN1": 0.3,
+ "DN2": 0.3,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.29999999999999999, -8, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-9.json b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-9.json
new file mode 100644
index 000000000000..210175f24ca9
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/fixtures/ttype_-9.json
@@ -0,0 +1,19 @@
+{
+ "I0": 0,
+ "N0": 3,
+ "Z": [1,0,0.5,0,1,0,0.01,0,1,0,1,0,1,0,0,0],
+ "strideZ": 1,
+ "offsetZ": 0,
+ "PP": 0,
+ "N0IN": 4,
+ "DMIN": 0.01,
+ "DMIN1": 0.01,
+ "DMIN2": 10.0,
+ "DN": 0.01,
+ "DN1": 0.01,
+ "DN2": 5.0,
+ "G": 0.0,
+ "strideOut": 1,
+ "offsetOut": 0,
+ "expectedOut": [0.005, -9, 0.0]
+}
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.dlasq4.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.dlasq4.js
new file mode 100644
index 000000000000..a944c5ce9fe6
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.dlasq4.js
@@ -0,0 +1,493 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 Float64Array = require( '@stdlib/array/float64' );
+var isAlmostEqual = require( '@stdlib/assert/is-almost-equal-float64array' );
+var dlasq4 = require( './../lib/dlasq4.js' );
+
+
+// FIXTURES //
+
+// All tests have been verified with the LAPACK fortran code.
+var TTYPE_1 = require( './fixtures/ttype_-1.json' );
+var TTYPE_2 = require( './fixtures/ttype_-2.json' );
+var TTYPE_3 = require( './fixtures/ttype_-3.json' );
+var TTYPE_3_1 = require( './fixtures/ttype_-3-1.json' );
+var TTYPE_4 = require( './fixtures/ttype_-4.json' );
+var TTYPE_4_1 = require( './fixtures/ttype_-4-1.json' );
+var TTYPE_4_2 = require( './fixtures/ttype_-4-2.json' );
+var TTYPE_4_3 = require( './fixtures/ttype_-4-3.json' );
+var TTYPE_4_4 = require( './fixtures/ttype_-4-4.json' );
+var TTYPE_4_5 = require( './fixtures/ttype_-4-5.json' );
+var TTYPE_4_6 = require( './fixtures/ttype_-4-6.json' );
+var TTYPE_5 = require( './fixtures/ttype_-5.json' );
+var TTYPE_5_1 = require( './fixtures/ttype_-5-1.json' );
+var TTYPE_5_2 = require( './fixtures/ttype_-5-2.json' );
+var TTYPE_5_3 = require( './fixtures/ttype_-5-3.json' );
+var TTYPE_5_4 = require( './fixtures/ttype_-5-4.json' );
+var TTYPE_5_5 = require( './fixtures/ttype_-5-5.json' );
+var TTYPE_6 = require( './fixtures/ttype_-6.json' );
+var TTYPE_7 = require( './fixtures/ttype_-7.json' );
+var TTYPE_7_1 = require( './fixtures/ttype_-7-1.json' );
+var TTYPE_7_2 = require( './fixtures/ttype_-7-2.json' );
+var TTYPE_7_3 = require( './fixtures/ttype_-7-3.json' );
+var TTYPE_7_4 = require( './fixtures/ttype_-7-4.json' );
+var TTYPE_8 = require( './fixtures/ttype_-8.json' );
+var TTYPE_9 = require( './fixtures/ttype_-9.json' );
+var TTYPE_10 = require( './fixtures/ttype_-10.json' );
+var TTYPE_10_1 = require( './fixtures/ttype_-10-1.json' );
+var TTYPE_10_2 = require( './fixtures/ttype_-10-2.json' );
+var TTYPE_10_3 = require( './fixtures/ttype_-10-3.json' );
+var TTYPE_10_4 = require( './fixtures/ttype_-10-4.json' );
+var TTYPE_11 = require( './fixtures/ttype_-11.json' );
+var TTYPE_12 = require( './fixtures/ttype_-12.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof dlasq4, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function has an arity of 13', function test( t ) {
+ t.strictEqual( dlasq4.length, 13, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-1)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-2)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-3)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_3_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform when (TTYPE=-4)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-5)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-6)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-7)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_7;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-8)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_8;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-9)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_9;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-10)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_10;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-11)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_11;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-12)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_12;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.js
new file mode 100644
index 000000000000..2cb0903d6237
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.js
@@ -0,0 +1,82 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 dlasq4 = 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 dlasq4, '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 dlasq4.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 dlasq4 = proxyquire( './../lib', {
+ '@stdlib/utils/try-require': tryRequire
+ });
+
+ t.strictEqual( dlasq4, 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 dlasq4;
+ var main;
+
+ main = require( './../lib/dlasq4.js' );
+
+ dlasq4 = proxyquire( './../lib', {
+ '@stdlib/utils/try-require': tryRequire
+ });
+
+ t.strictEqual( dlasq4, main, 'returns expected value' );
+ t.end();
+
+ function tryRequire() {
+ return new Error( 'Cannot find module' );
+ }
+});
diff --git a/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.ndarray.js
new file mode 100644
index 000000000000..069a0ca8ec22
--- /dev/null
+++ b/lib/node_modules/@stdlib/lapack/base/dlasq4/test/test.ndarray.js
@@ -0,0 +1,1837 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 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 Float64Array = require( '@stdlib/array/float64' );
+var isAlmostEqual = require( '@stdlib/assert/is-almost-equal-float64array' );
+var dlasq4 = require( './../lib/ndarray.js' );
+
+
+// FIXTURES //
+
+// All tests have been verified with the LAPACK fortran code.
+var TTYPE_1 = require( './fixtures/ttype_-1.json' );
+var TTYPE_2 = require( './fixtures/ttype_-2.json' );
+var TTYPE_3 = require( './fixtures/ttype_-3.json' );
+var TTYPE_3_1 = require( './fixtures/ttype_-3-1.json' );
+var TTYPE_4 = require( './fixtures/ttype_-4.json' );
+var TTYPE_4_1 = require( './fixtures/ttype_-4-1.json' );
+var TTYPE_4_2 = require( './fixtures/ttype_-4-2.json' );
+var TTYPE_4_3 = require( './fixtures/ttype_-4-3.json' );
+var TTYPE_4_4 = require( './fixtures/ttype_-4-4.json' );
+var TTYPE_4_5 = require( './fixtures/ttype_-4-5.json' );
+var TTYPE_4_6 = require( './fixtures/ttype_-4-6.json' );
+var TTYPE_5 = require( './fixtures/ttype_-5.json' );
+var TTYPE_5_1 = require( './fixtures/ttype_-5-1.json' );
+var TTYPE_5_2 = require( './fixtures/ttype_-5-2.json' );
+var TTYPE_5_3 = require( './fixtures/ttype_-5-3.json' );
+var TTYPE_5_4 = require( './fixtures/ttype_-5-4.json' );
+var TTYPE_5_5 = require( './fixtures/ttype_-5-5.json' );
+var TTYPE_6 = require( './fixtures/ttype_-6.json' );
+var TTYPE_7 = require( './fixtures/ttype_-7.json' );
+var TTYPE_7_1 = require( './fixtures/ttype_-7-1.json' );
+var TTYPE_7_2 = require( './fixtures/ttype_-7-2.json' );
+var TTYPE_7_3 = require( './fixtures/ttype_-7-3.json' );
+var TTYPE_7_4 = require( './fixtures/ttype_-7-4.json' );
+var TTYPE_8 = require( './fixtures/ttype_-8.json' );
+var TTYPE_9 = require( './fixtures/ttype_-9.json' );
+var TTYPE_10 = require( './fixtures/ttype_-10.json' );
+var TTYPE_10_1 = require( './fixtures/ttype_-10-1.json' );
+var TTYPE_10_2 = require( './fixtures/ttype_-10-2.json' );
+var TTYPE_10_3 = require( './fixtures/ttype_-10-3.json' );
+var TTYPE_10_4 = require( './fixtures/ttype_-10-4.json' );
+var TTYPE_11 = require( './fixtures/ttype_-11.json' );
+var TTYPE_12 = require( './fixtures/ttype_-12.json' );
+var LAR_STR_TTYPE_1 = require( './fixtures/large_strides/ttype_-1.json' );
+var LAR_STR_TTYPE_2 = require( './fixtures/large_strides/ttype_-2.json' );
+var LAR_STR_TTYPE_3 = require( './fixtures/large_strides/ttype_-3.json' );
+var LAR_STR_TTYPE_3_1 = require( './fixtures/large_strides/ttype_-3-1.json' );
+var LAR_STR_TTYPE_4 = require( './fixtures/large_strides/ttype_-4.json' );
+var LAR_STR_TTYPE_4_1 = require( './fixtures/large_strides/ttype_-4-1.json' );
+var LAR_STR_TTYPE_4_2 = require( './fixtures/large_strides/ttype_-4-2.json' );
+var LAR_STR_TTYPE_4_3 = require( './fixtures/large_strides/ttype_-4-3.json' );
+var LAR_STR_TTYPE_4_4 = require( './fixtures/large_strides/ttype_-4-4.json' );
+var LAR_STR_TTYPE_4_5 = require( './fixtures/large_strides/ttype_-4-5.json' );
+var LAR_STR_TTYPE_4_6 = require( './fixtures/large_strides/ttype_-4-6.json' );
+var LAR_STR_TTYPE_5 = require( './fixtures/large_strides/ttype_-5.json' );
+var LAR_STR_TTYPE_5_1 = require( './fixtures/large_strides/ttype_-5-1.json' );
+var LAR_STR_TTYPE_5_2 = require( './fixtures/large_strides/ttype_-5-2.json' );
+var LAR_STR_TTYPE_5_3 = require( './fixtures/large_strides/ttype_-5-3.json' );
+var LAR_STR_TTYPE_5_4 = require( './fixtures/large_strides/ttype_-5-4.json' );
+var LAR_STR_TTYPE_5_5 = require( './fixtures/large_strides/ttype_-5-5.json' );
+var LAR_STR_TTYPE_6 = require( './fixtures/large_strides/ttype_-6.json' );
+var LAR_STR_TTYPE_7 = require( './fixtures/large_strides/ttype_-7.json' );
+var LAR_STR_TTYPE_7_1 = require( './fixtures/large_strides/ttype_-7-1.json' );
+var LAR_STR_TTYPE_7_2 = require( './fixtures/large_strides/ttype_-7-2.json' );
+var LAR_STR_TTYPE_7_3 = require( './fixtures/large_strides/ttype_-7-3.json' );
+var LAR_STR_TTYPE_7_4 = require( './fixtures/large_strides/ttype_-7-4.json' );
+var LAR_STR_TTYPE_8 = require( './fixtures/large_strides/ttype_-8.json' );
+var LAR_STR_TTYPE_9 = require( './fixtures/large_strides/ttype_-9.json' );
+var LAR_STR_TTYPE_10 = require( './fixtures/large_strides/ttype_-10.json' );
+var LAR_STR_TTYPE_10_1 = require( './fixtures/large_strides/ttype_-10-1.json' );
+var LAR_STR_TTYPE_10_2 = require( './fixtures/large_strides/ttype_-10-2.json' );
+var LAR_STR_TTYPE_10_3 = require( './fixtures/large_strides/ttype_-10-3.json' );
+var LAR_STR_TTYPE_10_4 = require( './fixtures/large_strides/ttype_-10-4.json' );
+var LAR_STR_TTYPE_11 = require( './fixtures/large_strides/ttype_-11.json' );
+var LAR_STR_TTYPE_12 = require( './fixtures/large_strides/ttype_-12.json' );
+var NEG_STR_TTYPE_1 = require( './fixtures/negative_strides/ttype_-1.json' );
+var NEG_STR_TTYPE_2 = require( './fixtures/negative_strides/ttype_-2.json' );
+var NEG_STR_TTYPE_3 = require( './fixtures/negative_strides/ttype_-3.json' );
+var NEG_STR_TTYPE_3_1 = require( './fixtures/negative_strides/ttype_-3-1.json' );
+var NEG_STR_TTYPE_4 = require( './fixtures/negative_strides/ttype_-4.json' );
+var NEG_STR_TTYPE_4_1 = require( './fixtures/negative_strides/ttype_-4-1.json' );
+var NEG_STR_TTYPE_4_2 = require( './fixtures/negative_strides/ttype_-4-2.json' );
+var NEG_STR_TTYPE_4_3 = require( './fixtures/negative_strides/ttype_-4-3.json' );
+var NEG_STR_TTYPE_4_4 = require( './fixtures/negative_strides/ttype_-4-4.json' );
+var NEG_STR_TTYPE_4_5 = require( './fixtures/negative_strides/ttype_-4-5.json' );
+var NEG_STR_TTYPE_4_6 = require( './fixtures/negative_strides/ttype_-4-6.json' );
+var NEG_STR_TTYPE_5 = require( './fixtures/negative_strides/ttype_-5.json' );
+var NEG_STR_TTYPE_5_1 = require( './fixtures/negative_strides/ttype_-5-1.json' );
+var NEG_STR_TTYPE_5_2 = require( './fixtures/negative_strides/ttype_-5-2.json' );
+var NEG_STR_TTYPE_5_3 = require( './fixtures/negative_strides/ttype_-5-3.json' );
+var NEG_STR_TTYPE_5_4 = require( './fixtures/negative_strides/ttype_-5-4.json' );
+var NEG_STR_TTYPE_5_5 = require( './fixtures/negative_strides/ttype_-5-5.json' );
+var NEG_STR_TTYPE_6 = require( './fixtures/negative_strides/ttype_-6.json' );
+var NEG_STR_TTYPE_7 = require( './fixtures/negative_strides/ttype_-7.json' );
+var NEG_STR_TTYPE_7_1 = require( './fixtures/negative_strides/ttype_-7-1.json' );
+var NEG_STR_TTYPE_7_2 = require( './fixtures/negative_strides/ttype_-7-2.json' );
+var NEG_STR_TTYPE_7_3 = require( './fixtures/negative_strides/ttype_-7-3.json' );
+var NEG_STR_TTYPE_7_4 = require( './fixtures/negative_strides/ttype_-7-4.json' );
+var NEG_STR_TTYPE_8 = require( './fixtures/negative_strides/ttype_-8.json' );
+var NEG_STR_TTYPE_9 = require( './fixtures/negative_strides/ttype_-9.json' );
+var NEG_STR_TTYPE_10 = require( './fixtures/negative_strides/ttype_-10.json' );
+var NEG_STR_TTYPE_10_1 = require( './fixtures/negative_strides/ttype_-10-1.json' );
+var NEG_STR_TTYPE_10_2 = require( './fixtures/negative_strides/ttype_-10-2.json' );
+var NEG_STR_TTYPE_10_3 = require( './fixtures/negative_strides/ttype_-10-3.json' );
+var NEG_STR_TTYPE_10_4 = require( './fixtures/negative_strides/ttype_-10-4.json' );
+var NEG_STR_TTYPE_11 = require( './fixtures/negative_strides/ttype_-11.json' );
+var NEG_STR_TTYPE_12 = require( './fixtures/negative_strides/ttype_-12.json' );
+var OFF_TTYPE_1 = require( './fixtures/offsets/ttype_-1.json' );
+var OFF_TTYPE_2 = require( './fixtures/offsets/ttype_-2.json' );
+var OFF_TTYPE_3 = require( './fixtures/offsets/ttype_-3.json' );
+var OFF_TTYPE_3_1 = require( './fixtures/offsets/ttype_-3-1.json' );
+var OFF_TTYPE_4 = require( './fixtures/offsets/ttype_-4.json' );
+var OFF_TTYPE_4_1 = require( './fixtures/offsets/ttype_-4-1.json' );
+var OFF_TTYPE_4_2 = require( './fixtures/offsets/ttype_-4-2.json' );
+var OFF_TTYPE_4_3 = require( './fixtures/offsets/ttype_-4-3.json' );
+var OFF_TTYPE_4_4 = require( './fixtures/offsets/ttype_-4-4.json' );
+var OFF_TTYPE_4_5 = require( './fixtures/offsets/ttype_-4-5.json' );
+var OFF_TTYPE_4_6 = require( './fixtures/offsets/ttype_-4-6.json' );
+var OFF_TTYPE_5 = require( './fixtures/offsets/ttype_-5.json' );
+var OFF_TTYPE_5_1 = require( './fixtures/offsets/ttype_-5-1.json' );
+var OFF_TTYPE_5_2 = require( './fixtures/offsets/ttype_-5-2.json' );
+var OFF_TTYPE_5_3 = require( './fixtures/offsets/ttype_-5-3.json' );
+var OFF_TTYPE_5_4 = require( './fixtures/offsets/ttype_-5-4.json' );
+var OFF_TTYPE_5_5 = require( './fixtures/offsets/ttype_-5-5.json' );
+var OFF_TTYPE_6 = require( './fixtures/offsets/ttype_-6.json' );
+var OFF_TTYPE_7 = require( './fixtures/offsets/ttype_-7.json' );
+var OFF_TTYPE_7_1 = require( './fixtures/offsets/ttype_-7-1.json' );
+var OFF_TTYPE_7_2 = require( './fixtures/offsets/ttype_-7-2.json' );
+var OFF_TTYPE_7_3 = require( './fixtures/offsets/ttype_-7-3.json' );
+var OFF_TTYPE_7_4 = require( './fixtures/offsets/ttype_-7-4.json' );
+var OFF_TTYPE_8 = require( './fixtures/offsets/ttype_-8.json' );
+var OFF_TTYPE_9 = require( './fixtures/offsets/ttype_-9.json' );
+var OFF_TTYPE_10 = require( './fixtures/offsets/ttype_-10.json' );
+var OFF_TTYPE_10_1 = require( './fixtures/offsets/ttype_-10-1.json' );
+var OFF_TTYPE_10_2 = require( './fixtures/offsets/ttype_-10-2.json' );
+var OFF_TTYPE_10_3 = require( './fixtures/offsets/ttype_-10-3.json' );
+var OFF_TTYPE_10_4 = require( './fixtures/offsets/ttype_-10-4.json' );
+var OFF_TTYPE_11 = require( './fixtures/offsets/ttype_-11.json' );
+var OFF_TTYPE_12 = require( './fixtures/offsets/ttype_-12.json' );
+
+
+// TESTS //
+
+tape( 'main export is a function', function test( t ) {
+ t.ok( true, __filename );
+ t.strictEqual( typeof dlasq4, 'function', 'main export is a function' );
+ t.end();
+});
+
+tape( 'the function has an arity of 17', function test( t ) {
+ t.strictEqual( dlasq4.length, 17, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-1)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-2)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-3)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_3_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-4)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_4_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-5)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_5_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-6)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-7)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_7;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_7_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-8)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_8;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-9)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_9;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-10)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_10;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = TTYPE_10_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-11)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_11;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-12)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = TTYPE_12;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-1, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-2, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-3, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_3_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-4, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_4_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_4_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_4_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_4_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_4_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_4_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-5, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_5_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_5_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_5_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_5_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_5_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-6, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-7, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_7;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_7_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_7_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_7_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_7_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-8, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_8;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-9, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_9;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-10, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_10;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_10_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_10_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_10_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = LAR_STR_TTYPE_10_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-11, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_11;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-12, large stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = LAR_STR_TTYPE_12;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 0, 9999, 0, 9999, 0, 9999 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-1, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-2, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-3, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_3_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-4, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_4_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_4_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_4_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_4_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_4_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_4_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-5, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_5_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_5_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_5_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_5_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_5_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-6, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-7, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_7;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_7_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_7_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_7_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_7_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-8, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_8;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-9, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_9;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-10, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_10;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_10_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_10_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_10_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = NEG_STR_TTYPE_10_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-11, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_11;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-12, negative stride)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = NEG_STR_TTYPE_12;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( 3 );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-1, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-2, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-3, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_3_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-4, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_4_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_4_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_4_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_4_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_4_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_4_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-5, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_5_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_5_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_5_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_5_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_5_5;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-6, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_6;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-7, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_7;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_7_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_7_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_7_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_7_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-8, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_8;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-9, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_9;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-10, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_10;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_10_1;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_10_2;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_10_3;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+
+ data = OFF_TTYPE_10_4;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-11, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_11;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});
+
+tape( 'the function computes an approximation to the smallest eigenvalue using values of d from the previous transform (TTYPE=-12, offset)', function test( t ) {
+ var expected;
+ var data;
+ var out;
+ var Z;
+
+ data = OFF_TTYPE_12;
+
+ Z = new Float64Array( data.Z );
+ out = new Float64Array( [ 9999, 0, 0, 0 ] );
+
+ expected = new Float64Array( data.expectedOut );
+
+ dlasq4( data.I0, data.N0, Z, data.strideZ, data.offsetZ, data.PP, data.N0IN, data.DMIN, data.DMIN1, data.DMIN2, data.DN, data.DN1, data.DN2, data.G, out, data.strideOut, data.offsetOut );
+ t.strictEqual( isAlmostEqual( out, expected, 1 ), true, 'returns expected value' );
+ t.end();
+});