From 64bc335f854c01c6c2f2ab3ed0512c0446258174 Mon Sep 17 00:00:00 2001 From: Aayush Khanna Date: Fri, 8 Aug 2025 13:11:02 +0530 Subject: [PATCH 1/5] feat: add lapack/base/dlarfb --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/lapack/base/dlarfb/lib/base.js | 423 ++++++++++++++++++ .../@stdlib/lapack/base/dlarfb/lib/dtrmm.js | 361 +++++++++++++++ 2 files changed, 784 insertions(+) create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dtrmm.js diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js new file mode 100644 index 000000000000..e3444dec48e7 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js @@ -0,0 +1,423 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2024 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* eslint-disable max-len, max-params, max-statements, max-lines-per-function, no-lonely-if */ + +'use strict'; + +// MODULES // + +var dgemm = require( '@stdlib/blas/base/dgemm' ).ndarray; +var dcopy = require( '@stdlib/blas/base/dcopy' ).ndarray; +var dtrmm = require( './dtrmm.js' ); + + +// MAIN // + +/** +* Applies a real block reflector `H` or its transpose `H ^ T` to a real `M` by `N` matrix `C`, from either the left or the right. +* +* @private +* @param {string} side - specifies whether `H` or `H ^ T` is applied from the left or right +* @param {string} trans - specifies whether to apply `H` or `H ^ T` +* @param {string} direct - indicates how `H` is formed from a product of elementary reflectors +* @param {string} storev - indicates how the vectors which define the elementary reflectors are stored +* @param {NonNegativeInteger} M - number of rows of the matrix `C` +* @param {NonNegativeInteger} N - number of columns of the matrix `C` +* @param {NonNegativeInteger} K - order of the matrix `T` +* @param {Float64Array} V - input matrix +* @param {integer} strideV1 - stride of the first dimension of `V` +* @param {integer} strideV2 - stride of the second dimension of `V` +* @param {integer} offsetV - index offset for `V` +* @param {Float64Array} T - input matrix +* @param {integer} strideT1 - stride of the first dimension of `T` +* @param {integer} strideT2 - stride of the second dimension of `T` +* @param {integer} offsetT - index offset for `T` +* @param {Float64Array} C - input matrix +* @param {integer} strideC1 - stride of the first dimension of `C` +* @param {integer} strideC2 - stride of the second dimension of `C` +* @param {integer} offsetC - index offset for `C` +* @param {Float64Array} work - work array +* @param {integer} strideWork1 - stride of the first dimension of `work` +* @param {integer} strideWork2 - stride of the second dimension of `work` +* @param {integer} offsetWork - index offset for `work` +* @returns {Float64Array} updated matrix `C` +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var V = new Float64Array( [ 10.0, 40.0, 70.0, 20.0, 50.0, 80.0, 30.0, 60.0, 90.0 ] ); +* var T = new Float64Array( [ 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 3.0 ] ); +* var C = new Float64Array( [ 11.0, 12.0, 13.0, 21.0, 22.0, 23.0, 31.0, 32.0, 33.0 ] ); +* var work = new Float64Array( 9 ); +* +* dlarfb( 'left', 'transpose', 'forward', 'column-major', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, work, 3, 1, 0 ); +* +* // C => [ -1350.00, -1400.00, -1450.00, -30961.00, -32102.00, -33243.00, -266612.00, -275464.00, -284316.00 ] +*/ +function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, offsetV, T, strideT1, strideT2, offsetT, C, strideC1, strideC2, offsetC, work, strideWork1, strideWork2, offsetWork ) { + var cOffset; + var wOffset; + var vOffset; + var transt; + var i; + var j; + + // Quick return if possible + if ( M <= 0 || N <= 0 ) { + return C; + } + + if ( trans === 'no-transpose' ) { + transt = 'transpose'; + } else { + transt = 'no-transpose'; + } + + if ( storev === 'column-major' ) { + if ( direct === 'forward' ) { + // Let V = ( V1 ) (first K rows) + // ( V2 ) + // Where V1 is unit lower triangular. + + if ( side === 'left' ) { + // Form H * C or H ^ T * C where C = ( C1 ) + // ( C2 ) + // W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) + // W := C1**T + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( j * strideC1 ); // C( j, 1 ) - 0 based index + wOffset = offsetWork + ( j * strideWork2 ); // W( 1, j ) - 0 based index + dcopy( N, C, strideC2, cOffset, work, strideWork1, wOffset ); + } + // W := W * V1 + dtrmm( 'right', 'lower', 'no-transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + if ( M > K ) { + // W := W + C2**T * V2 + cOffset = offsetC + ( K * strideC1 ); // C( k+1, 1 ) - 0 based index + vOffset = offsetV + ( K * strideV1 ); // V( k+1, 1 ) - 0 based index + dgemm( 'transpose', 'no-transpose', N, K, M-K, 1.0, C, strideC1, strideC2, cOffset, V, strideV1, strideV2, vOffset, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T**T or W * T + dtrmm( 'right', 'upper', transt, 'non-unit', N, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - V * W**T + if ( M > K ) { + // C2 := C2 - V2 * W**T + cOffset = offsetC + ( K * strideC1 ); // C( k+1, 1 ) - 0 based index + vOffset = offsetV + ( K * strideV1 ); // V( k+1, 1 ) - 0 based index + dgemm( 'no-transpose', 'transpose', M-K, N, K, -1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork, 1.0, C, strideC1, strideC2, cOffset ); + } + // W := W * V1**T + dtrmm( 'right', 'lower', 'transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + + // C1 := C1 - W**T + for ( j = 0; j < K; j++ ) { // TODO - loop reordering + for ( i = 0; i < N; i++ ) { + cOffset = offsetC + ( j * strideC1 ) + ( i * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } else if ( side === 'right' ) { + // Form C * H or C * H ^ T where C = ( C1 C2 ) + // W := C * V = (C1*V1 + C2*V2) (stored in WORK) + // W := C1 + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( j * strideC2 ); // C( 1, j ) - 0 based index + wOffset = offsetWork + ( j * strideWork2 ); // W( 1, j ) - 0 based index + dcopy( M, C, strideC1, cOffset, work, strideWork1, wOffset ); + } + // W := W * V1 + dtrmm( 'right', 'lower', 'no-transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + if ( N > K ) { + // W := W + C2 * V2 + cOffset = offsetC + ( K * strideC2 ); + vOffset = offsetV + ( K * strideV1 ); + dgemm( 'no-transpose', 'no-transpose', M, K, N-K, 1.0, C, strideC1, strideC2, cOffset, V, strideV1, strideV2, vOffset, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T or W * T**T + dtrmm( 'right', 'upper', trans, 'non-unit', M, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - W * V**T + if ( N > K ) { + // C2 := C2 - W * V2**T + cOffset = offsetC + ( K * strideC2 ); + vOffset = offsetV + ( K * strideV1 ); + dgemm( 'no-transpose', 'transpose', M, N-K, K, -1.0, work, strideWork1, strideWork2, offsetWork, V, strideV1, strideV2, vOffset, 1.0, C, strideC1, strideC2, cOffset ); + } + // W := W * V1**T + dtrmm( 'right', 'lower', 'transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + + // C1 := C1 - W + for ( j = 0; j < K; j++ ) { + for ( i = 0; i < M; i++ ) { + cOffset = offsetC + ( i * strideC1 ) + ( j * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } + } else { + // Let V = ( V1 ) + // ( V2 ) (last K rows) + // Where V2 is unit upper triangular. + + if ( side === 'left' ) { + // Form H * C or H ^ T * C where C = ( C1 ) + // ( C2 ) + // W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) + // W := C2**T + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( (M-K+j) * strideC1 ); + wOffset = offsetWork + ( j * strideWork2 ); + dcopy( N, C, strideC2, cOffset, work, strideWork1, wOffset ); + } + // W := W * V2 + vOffset = offsetV + ( (M-K) * strideV1 ); + dtrmm( 'right', 'upper', 'no-transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + if ( M > K ) { + // W := W + C1**T * V1 + dgemm( 'transpose', 'no-transpose', N, K, M-K, 1.0, C, strideC1, strideC2, offsetC, V, strideV1, strideV2, offsetV, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T**T or W * T + dtrmm( 'right', 'lower', transt, 'non-unit', N, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - V * W**T + if ( M > K ) { + // C1 := C1 - V1 * W**T + dgemm( 'no-transpose', 'transpose', M-K, N, K, -1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork, 1.0, C, strideC1, strideC2, offsetC ); + } + // W := W * V2**T + vOffset = offsetV + ( (M-K) * strideV1 ); + dtrmm( 'right', 'upper', 'transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + + // C2 := C2 - W**T + for ( j = 0; j < K; j++ ) { + for ( i = 0; i < N; i++ ) { + cOffset = offsetC + ( (M-K+j) * strideC1 ) + ( i * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } else if ( side === 'right' ) { + // Form C * H or C * H ^ T where C = ( C1 C2 ) + // W := C * V = (C1*V1 + C2*V2) (stored in WORK) + // W := C2 + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( (N-K+j) * strideC2 ); + wOffset = offsetWork + ( j * strideWork2 ); + dcopy( M, C, strideC1, cOffset, work, strideWork1, wOffset ); + } + // W := W * V2 + vOffset = offsetV + ( (N-K) * strideV1 ); + dtrmm( 'right', 'upper', 'no-transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + if ( N > K ) { + // W := W + C1 * V1 + dgemm( 'no-transpose', 'no-transpose', M, K, N-K, 1.0, C, strideC1, strideC2, offsetC, V, strideV1, strideV2, offsetV, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T or W * T**T + dtrmm( 'right', 'upper', trans, 'non-unit', M, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - W * V**T + if ( N > K ) { + // C1 := C1 - W * V1**T + dgemm( 'no-transpose', 'transpose', M, N-K, K, -1.0, work, strideWork1, strideWork2, offsetWork, V, strideV1, strideV2, offsetV, 1.0, C, strideC1, strideC2, offsetC ); + } + // W := W * V2**T + vOffset = offsetV + ( (N-K) * strideV1 ); + dtrmm( 'right', 'upper', 'transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + + // C2 := C2 - W + for ( j = 0; j < K; j++ ) { // TODO - loop reordering + for ( i = 0; i < M; i++ ) { + cOffset = offsetC + ( i * strideC1 ) + ( (N-K+j) * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } + } + } else if ( storev === 'row-major' ) { + if ( direct === 'forward' ) { + // Let V = ( V1 V2 ) (V1: first K columns) + // Where V1 is unit upper triangular. + if ( side === 'left' ) { + // Form H * C or H ^ T * C where C = ( C1 ) + // ( C2 ) + // W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) + // W := C1**T + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( j * strideC1 ); + wOffset = offsetWork + ( j * strideWork2 ); + dcopy( N, C, strideC2, cOffset, work, strideWork1, wOffset ); + } + // W := W * V1**T + dtrmm( 'right', 'upper', 'transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + if ( M > K ) { + // W := W + C2**T * V2**T + cOffset = offsetC + ( K * strideC1 ); + vOffset = offsetV + ( K * strideV2 ); + dgemm( 'transpose', 'transpose', N, K, M-K, 1.0, C, strideC1, strideC2, cOffset, V, strideV1, strideV2, vOffset, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T**T or W * T + dtrmm( 'right', 'upper', transt, 'non-unit', N, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - V**T * W**T + if ( M > K ) { + // C2 := C2 - V2**T * W**T + cOffset = offsetC + ( K * strideC1 ); + vOffset = offsetV + ( K * strideV2 ); + dgemm( 'transpose', 'transpose', M-K, N, K, -1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork, 1.0, C, strideC1, strideC2, cOffset ); + } + // W := W * V1 + dtrmm( 'right', 'upper', 'no-transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + + // C1 := C1 - W**T + for ( j = 0; j < K; j++ ) { // TODO - loop reordering + for ( i = 0; i < N; i++ ) { + cOffset = offsetC + ( j * strideC1 ) + ( i * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } else if ( side === 'right' ) { + // Form C * H or C * H ^ T where C = ( C1 C2 ) + // W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) + // W := C1 + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( j * strideC2 ); + wOffset = offsetWork + ( j * strideWork2 ); + dcopy( M, C, strideC1, cOffset, work, strideWork1, wOffset ); + } + // W := W * V1**T + dtrmm( 'right', 'upper', 'transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + if ( N > K ) { + // W := W + C2 * V2**T + cOffset = offsetC + ( K * strideC2 ); + vOffset = offsetV + ( K * strideV2 ); + dgemm( 'no-transpose', 'transpose', M, K, N-K, 1.0, C, strideC1, strideC2, cOffset, V, strideV1, strideV2, vOffset, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T or W * T**T + dtrmm( 'right', 'upper', trans, 'non-unit', M, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - W * V + if ( N > K ) { + // C2 := C2 - W * V2 + cOffset = offsetC + ( K * strideC2 ); + vOffset = offsetV + ( K * strideV2 ); + dgemm( 'no-transpose', 'no-transpose', M, N-K, K, -1.0, work, strideWork1, strideWork2, offsetWork, V, strideV1, strideV2, vOffset, 1.0, C, strideC1, strideC2, cOffset ); + } + // W := W * V1 + dtrmm( 'right', 'upper', 'no-transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork ); + + // C1 := C1 - W + for ( j = 0; j < K; j++ ) { // TODO - loop reordering + for ( i = 0; i < M; i++ ) { + cOffset = offsetC + ( i * strideC1 ) + ( j * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } + } else { + // Let V = ( V1 V2 ) (V2: last K columns) + // Where V2 is unit lower triangular. + if ( side === 'left' ) { + // Form H * C or H ^ T * C where C = ( C1 ) + // ( C2 ) + // W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) + // W := C2**T + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( (M-K+j) * strideC1 ); + wOffset = offsetWork + ( j * strideWork2 ); + dcopy( N, C, strideC2, cOffset, work, strideWork1, wOffset ); + } + // W := W * V2**T + vOffset = offsetV + ( (M-K) * strideV2 ); + dtrmm( 'right', 'lower', 'transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + if ( M > K ) { + // W := W + C1**T * V1**T + dgemm( 'transpose', 'transpose', N, K, M-K, 1.0, C, strideC1, strideC2, offsetC, V, strideV1, strideV2, offsetV, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T**T or W * T + dtrmm( 'right', 'lower', transt, 'non-unit', N, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - V**T * W**T + if ( M > K ) { + // C1 := C1 - V1**T * W**T + dgemm( 'transpose', 'transpose', M-K, N, K, -1.0, V, strideV1, strideV2, offsetV, work, strideWork1, strideWork2, offsetWork, 1.0, C, strideC1, strideC2, offsetC ); + } + // W := W * V2 + vOffset = offsetV + ( (M-K) * strideV2 ); + dtrmm( 'right', 'lower', 'no-transpose', 'unit', N, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + + // C2 := C2 - W**T + for ( j = 0; j < K; j++ ) { // TODO - loop reordering + for ( i = 0; i < N; i++ ) { + cOffset = offsetC + ( (M-K+j) * strideC1 ) + ( i * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } else if ( side === 'right' ) { + // Form C * H or C * H ^ T where C = ( C1 C2 ) + // W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) + // W := C2 + for ( j = 0; j < K; j++ ) { + cOffset = offsetC + ( (N-K+j) * strideC2 ); + wOffset = offsetWork + ( j * strideWork2 ); + dcopy( M, C, strideC1, cOffset, work, strideWork1, wOffset ); + } + // W := W * V2**T + vOffset = offsetV + ( (N-K) * strideV2 ); + dtrmm( 'right', 'lower', 'transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + if ( N > K ) { + // W := W + C1 * V1**T + dgemm( 'no-transpose', 'transpose', M, K, N-K, 1.0, C, strideC1, strideC2, offsetC, V, strideV1, strideV2, offsetV, 1.0, work, strideWork1, strideWork2, offsetWork ); + } + // W := W * T or W * T**T + dtrmm( 'right', 'lower', trans, 'non-unit', M, K, 1.0, T, strideT1, strideT2, offsetT, work, strideWork1, strideWork2, offsetWork ); + + // C := C - W * V + if ( N > K ) { + // C1 := C1 - W * V1 + dgemm( 'no-transpose', 'no-transpose', M, N-K, K, -1.0, work, strideWork1, strideWork2, offsetWork, V, strideV1, strideV2, offsetV, 1.0, C, strideC1, strideC2, offsetC ); + } + // W := W * V2 + vOffset = offsetV + ( (N-K) * strideV2 ); + dtrmm( 'right', 'lower', 'no-transpose', 'unit', M, K, 1.0, V, strideV1, strideV2, vOffset, work, strideWork1, strideWork2, offsetWork ); + + // C1 := C1 - W + for ( j = 0; j < K; j++ ) { // TODO - loop reordering + for ( i = 0; i < M; i++ ) { + cOffset = offsetC + ( i * strideC1 ) + ( (N-K+j) * strideC2 ); + wOffset = offsetWork + ( i * strideWork1 ) + ( j * strideWork2 ); + C[ cOffset ] -= work[ wOffset ]; + } + } + } + } + } + return C; +} + + +// EXPORTS // + +module.exports = dlarfb; diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dtrmm.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dtrmm.js new file mode 100644 index 000000000000..f844cfed69c2 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dtrmm.js @@ -0,0 +1,361 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* eslint-disable max-len, max-statements, max-lines-per-function */ + +'use strict'; + +// MODULES // + +var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' ); + + +// FUNCTIONS // + +/** +* Fills a matrix with zeros. +* +* @private +* @param {NonNegativeInteger} M - number of rows +* @param {NonNegativeInteger} N - number of columns +* @param {Float64Array} X - matrix to fill +* @param {integer} strideX1 - stride of the first dimension of `X` +* @param {integer} strideX2 - stride of the second dimension of `X` +* @param {NonNegativeInteger} offsetX - starting index for `X` +* @returns {Float64Array} input matrix +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var X = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] ); +* +* zeros( 2, 3, X, 3, 1, 0 ); +* // X => [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var X = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] ); +* +* zeros( 2, 3, X, 1, 2, 0 ); +* // X => [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] +*/ +function zeros( M, N, X, strideX1, strideX2, offsetX ) { // TODO: consider moving to a separate package + var dx0; + var dx1; + var S0; + var S1; + var i0; + var i1; + var ix; + + if ( isRowMajor( [ strideX1, strideX2 ] ) ) { + // For row-major matrices, the last dimension has the fastest changing index... + S0 = N; + S1 = M; + dx0 = strideX2; // offset increment for innermost loop + dx1 = strideX1 - ( S0*strideX2 ); // offset increment for outermost loop + } else { // column-major + // For column-major matrices, the first dimension has the fastest changing index... + S0 = M; + S1 = N; + dx0 = strideX1; // offset increment for innermost loop + dx1 = strideX2 - ( S0*strideX1 ); // offset increment for outermost loop + } + ix = offsetX; + for ( i1 = 0; i1 < S1; i1++ ) { + for ( i0 = 0; i0 < S0; i0++ ) { + X[ ix ] = 0.0; + ix += dx0; + } + ix += dx1; + } + return X; +} + + +// MAIN // + +/** +* Performs one of the matrix-matrix operations `B = α * op(A) * B` or `B = α * B * op(A)` where `α` is a scalar, `B` is an `M` by `N` matrix, `A` is a unit, or non-unit, upper or lower triangular matrix and `op( A )` is one of `op( A ) = A` or `op( A ) = A^T`. +* +* @private +* @param {string} side - specifies whether `op( A )` appears on the left or right side of `B` +* @param {string} uplo - specifies whether the upper or lower triangular part of the matrix `A` should be referenced +* @param {string} transa - specifies whether `A` should be transposed, conjugate-transposed, or not transposed +* @param {string} diag - specifies whether or not `A` is unit triangular +* @param {NonNegativeInteger} M - number of rows in `B` +* @param {NonNegativeInteger} N - number of columns in `B` +* @param {number} alpha - scalar constant +* @param {Float64Array} A - first input matrix +* @param {integer} strideA1 - stride of the first dimension of `A` +* @param {integer} strideA2 - stride of the second dimension of `A` +* @param {NonNegativeInteger} offsetA - starting index for `A` +* @param {Float64Array} B - second input matrix +* @param {integer} strideB1 - stride of the first dimension of `B` +* @param {integer} strideB2 - stride of the second dimension of `B` +* @param {NonNegativeInteger} offsetB - starting index for `B` +* @returns {Float64Array} `B` +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var A = new Float64Array( [ 1.0, 0.0, 0.0, 2.0, 3.0, 0.0, 4.0, 5.0, 6.0 ] ); +* var B = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0 ] ); +* +* dtrmm( 'left', 'lower', 'no-transpose', 'unit', 3, 3, 1.0, A, 3, 1, 0, B, 3, 1, 0 ); +* // B => [ 1.0, 2.0, 3.0, 6.0, 9.0, 12.0, 31.0, 41.0, 51.0 ] +*/ +function dtrmm( side, uplo, transa, diag, M, N, alpha, A, strideA1, strideA2, offsetA, B, strideB1, strideB2, offsetB ) { // eslint-disable-line max-params + var nonunit; + var isrma; + var tmp; + var oa2; + var ob2; + var sa0; + var sa1; + var sb0; + var sb1; + var oa; + var ob; + var ia; + var ib; + var i; + var j; + var k; + + // Note on variable naming convention: sa#, sb# where # corresponds to the loop number, with `0` being the innermost loop... + + isrma = isRowMajor( [ strideA1, strideA2 ] ); + nonunit = ( diag === 'non-unit' ); + + if ( M === 0 || N === 0 ) { + return B; + } + if ( isrma ) { + // For row-major matrices, the last dimension has the fastest changing index... + sa0 = strideA2; // stride for innermost loop + sa1 = strideA1; // stride for outermost loop + sb0 = strideB2; // stride for innermost loop + sb1 = strideB1; // stride for outermost loop + } else { + sa0 = strideA1; // stride for innermost loop + sa1 = strideA2; // stride for outermost loop + sb0 = strideB1; // stride for innermost loop + sb1 = strideB2; // stride for outermost loop + } + if ( alpha === 0.0 ) { + zeros( M, N, B, sb0, sb1, offsetB ); + return B; + } + + if ( + ( isrma && side === 'left' && uplo === 'upper' && transa === 'no-transpose' ) || + ( !isrma && side === 'right' && uplo === 'lower' && transa === 'no-transpose' ) + ) { + for ( j = 0; j < N; j++ ) { + ib = offsetB + ( j*sb0 ); + for ( k = 0; k < M; k++ ) { + ob2 = ib + ( k * sb1 ); + tmp = alpha * B[ ob2 ]; + ia = offsetA + ( k*sa0 ); + for ( i = 0; i < k; i++ ) { + B[ ib + ( i*sb1 ) ] += ( tmp * A[ ia + ( i*sa1 ) ] ); + } + if ( nonunit ) { + tmp *= A[ ia + ( k*sa1 ) ]; + } + B[ ob2 ] = tmp; + } + } + return B; + } + if ( + ( isrma && side === 'left' && uplo === 'lower' && transa === 'no-transpose' ) || + ( !isrma && side === 'right' && uplo === 'upper' && transa === 'no-transpose' ) + ) { + for ( j = 0; j < N; j++ ) { + ib = offsetB + ( j*sb0 ); + for ( k = M - 1; k >= 0; k-- ) { + ob2 = ib + ( k*sb1 ); + tmp = alpha * B[ ob2 ]; + ia = offsetA + ( k*sa0 ); + for ( i = k + 1; i < M; i++ ) { + oa2 = ia + ( i*sa1 ); + B[ ib + ( i*sb1 ) ] += ( tmp * A[ oa2 ] ); + } + if ( nonunit ) { + tmp *= A[ ia + ( k*sa1 ) ]; + } + B[ ob2 ] = tmp; + } + } + return B; + } + if ( + ( isrma && side === 'left' && uplo === 'upper' && transa !== 'no-transpose' ) || + ( !isrma && side === 'right' && uplo === 'lower' && transa !== 'no-transpose' ) + ) { + for ( j = 0; j < N; j++ ) { + ib = offsetB + ( j*sb0 ); + for ( i = M - 1; i >= 0; i-- ) { + ob2 = ib + ( i*sb1 ); + tmp = 0.0; + ia = offsetA + ( i*sa0 ); + if ( nonunit ) { + tmp += ( A[ ia + ( i*sa1 ) ] * B[ ob2 ] ); + } else { + tmp += B[ ob2 ]; + } + for ( k = 0; k < i; k++ ) { + oa2 = ia + ( k*sa1 ); + tmp += A[ oa2 ] * B[ ib + ( k*sb1 ) ]; + } + B[ ob2 ] = alpha * tmp; + } + } + return B; + } + if ( + ( isrma && side === 'left' && uplo === 'lower' && transa !== 'no-transpose' ) || + ( !isrma && side === 'right' && uplo === 'upper' && transa === 'transpose' ) + ) { + for ( j = 0; j < N; j++ ) { + ib = offsetB + ( j * sb0 ); + for ( i = 0; i < M; i++ ) { + ia = offsetA + ( i * sa0 ); + ob2 = ib + ( i * sb1 ); + tmp = 0.0; + for ( k = i + 1; k < M; k++ ) { + tmp += A[ ia + ( k * sa1 ) ] * B[ ib + ( k * sb1 ) ]; + } + if ( nonunit ) { + tmp += ( A[ ia + ( i * sa1 ) ] * B[ ob2 ] ); + } else { + tmp += B[ ob2 ]; + } + B[ ob2 ] = alpha * tmp; + } + } + return B; + } + if ( + ( isrma && side === 'right' && uplo === 'upper' && transa === 'no-transpose' ) || + ( !isrma && side === 'left' && uplo === 'lower' && transa === 'no-transpose' ) + ) { + for ( j = N - 1; j >= 0; j-- ) { + ia = offsetA + ( j*sa0 ); + ib = offsetB + ( j*sb0 ); + for ( i = 0; i < M; i++ ) { + ob = ib + ( i*sb1 ); + B[ ob ] *= alpha; + if ( nonunit ) { + oa2 = ia + ( j*sa1 ); + tmp = A[ oa2 ]; + B[ ob ] *= tmp; + } + for ( k = 0; k < j; k++ ) { + oa2 = ia + ( k*sa1 ); + ob2 = offsetB + ( k*sb0 ); + if ( A[ oa2 ] !== 0.0 ) { + tmp = alpha * A[ oa2 ]; + B[ ob ] += ( tmp * B[ ob2 + ( i*sb1 ) ] ); + } + } + } + } + return B; + } + if ( + ( isrma && side === 'right' && uplo === 'lower' && transa === 'no-transpose' ) || + ( !isrma && side === 'left' && uplo === 'upper' && transa === 'no-transpose' ) + ) { + for ( j = 0; j < N; j++ ) { + ia = offsetA + ( j*sa0 ); + for ( i = 0; i < M; i++ ) { + ib = offsetB + ( i*sb1 ); + ob = ib + ( j*sb0 ); + B[ ob ] *= alpha; + if ( nonunit ) { + oa = ia + ( j*sa1 ); + B[ ob ] *= A[ oa ]; + } + for ( k = j + 1; k < N; k++ ) { + oa2 = ia + ( k*sa1 ); + ob2 = ib + ( k*sb0 ); + if ( A[ oa2 ] !== 0.0 ) { + tmp = alpha * A[ oa2 ]; + B[ ob ] += ( tmp * B[ ob2 ] ); + } + } + } + } + return B; + } + if ( + ( isrma && side === 'right' && uplo === 'upper' && transa !== 'no-transpose' ) || + ( !isrma && side === 'left' && uplo === 'lower' && transa !== 'no-transpose' ) + ) { + for ( j = 0; j < N; j++ ) { + ia = offsetA + ( j*sa1 ); + for ( i = 0; i < M; i++ ) { + ib = offsetB + ( i*sb1 ); + oa = ia + ( j*sa0 ); + ob = ib + ( j*sb0 ); + if ( nonunit ) { + tmp = B[ ob ] * A[ oa ]; + } else { + tmp = B[ ob ]; + } + for ( k = j + 1; k < N; k++ ) { + oa2 = ia + ( k*sa0 ); + ob2 = ib + ( k*sb0 ); + tmp += ( B[ ob2 ] * A[ oa2 ] ); + } + B[ ob ] = alpha * tmp; + } + } + return B; + } + // ( isrma && side === 'right' && uplo === 'lower' && transa !== 'no-transpose' ) || ( !isrma && side === 'left' && uplo === 'upper' && transa !== 'no-transpose' ) + for ( i = 0; i < M; i++ ) { + ib = offsetB + ( i*sb1 ); + for ( j = N - 1; j >= 0; j-- ) { + ia = offsetA + ( j*sa1 ); + oa = ia + ( j*sa0 ); + ob = ib + ( j*sb0 ); + if ( nonunit ) { + tmp = B[ ob ] * A[ oa ]; + } else { + tmp = B[ ob ]; + } + for ( k = 0; k < j; k++ ) { + oa2 = ia + ( k*sa0 ); + ob2 = ib + ( k*sb0 ); + tmp += ( B[ ob2 ] * A[ oa2 ] ); + } + B[ ob ] = alpha * tmp; + } + } + return B; +} + + +// EXPORTS // + +module.exports = dtrmm; From 181951da9ddc97d0177ee13b580db47d68d12b9c Mon Sep 17 00:00:00 2001 From: Aayush Khanna Date: Sun, 10 Aug 2025 16:40:03 +0530 Subject: [PATCH 2/5] feat: add tests --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/lapack/base/dlarfb/lib/base.js | 94 +- .../@stdlib/lapack/base/dlarfb/lib/dlarfb.js | 185 +++ .../@stdlib/lapack/base/dlarfb/lib/index.js | 61 + .../@stdlib/lapack/base/dlarfb/lib/main.js | 35 + .../@stdlib/lapack/base/dlarfb/lib/ndarray.js | 95 ++ .../left_notrans_backward_col_col_major.json | 166 +++ .../left_notrans_backward_col_row_major.json | 166 +++ .../left_notrans_backward_row_col_major.json | 166 +++ .../left_notrans_backward_row_row_major.json | 166 +++ .../left_notrans_forward_col_col_major.json | 166 +++ .../left_notrans_forward_col_row_major.json | 166 +++ .../left_notrans_forward_row_col_major.json | 166 +++ .../left_notrans_forward_row_row_major.json | 166 +++ .../left_trans_backward_col_col_major.json | 166 +++ .../left_trans_backward_col_row_major.json | 166 +++ .../left_trans_backward_row_col_major.json | 166 +++ .../left_trans_backward_row_row_major.json | 166 +++ .../left_trans_forward_col_col_major.json | 166 +++ .../left_trans_forward_col_row_major.json | 166 +++ .../left_trans_forward_row_col_major.json | 166 +++ .../left_trans_forward_row_row_major.json | 166 +++ .../right_notrans_backward_col_col_major.json | 166 +++ .../right_notrans_backward_col_row_major.json | 166 +++ .../right_notrans_backward_row_col_major.json | 166 +++ .../right_notrans_backward_row_row_major.json | 166 +++ .../right_notrans_forward_col_col_major.json | 166 +++ .../right_notrans_forward_col_row_major.json | 166 +++ .../right_notrans_forward_row_col_major.json | 166 +++ .../right_notrans_forward_row_row_major.json | 166 +++ .../right_trans_backward_col_col_major.json | 166 +++ .../right_trans_backward_col_row_major.json | 166 +++ .../right_trans_backward_row_col_major.json | 166 +++ .../right_trans_backward_row_row_major.json | 166 +++ .../right_trans_forward_col_col_major.json | 166 +++ .../right_trans_forward_col_row_major.json | 166 +++ .../right_trans_forward_row_col_major.json | 166 +++ .../right_trans_forward_row_row_major.json | 166 +++ .../lapack/base/dlarfb/test/test.dlarfb.js | 1042 +++++++++++++++++ .../@stdlib/lapack/base/dlarfb/test/test.js | 82 ++ .../lapack/base/dlarfb/test/test.ndarray.js | 184 +++ 40 files changed, 7049 insertions(+), 41 deletions(-) create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dlarfb.js create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/lib/index.js create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/lib/main.js create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/lib/ndarray.js create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.dlarfb.js create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.js create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js index e3444dec48e7..b8b433f02e00 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js @@ -66,7 +66,7 @@ var dtrmm = require( './dtrmm.js' ); * var C = new Float64Array( [ 11.0, 12.0, 13.0, 21.0, 22.0, 23.0, 31.0, 32.0, 33.0 ] ); * var work = new Float64Array( 9 ); * -* dlarfb( 'left', 'transpose', 'forward', 'column-major', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, work, 3, 1, 0 ); +* dlarfb( 'left', 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, work, 3, 1, 0 ); * * // C => [ -1350.00, -1400.00, -1450.00, -30961.00, -32102.00, -33243.00, -266612.00, -275464.00, -284316.00 ] */ @@ -89,17 +89,19 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of transt = 'no-transpose'; } - if ( storev === 'column-major' ) { + if ( storev === 'columns' ) { if ( direct === 'forward' ) { - // Let V = ( V1 ) (first K rows) - // ( V2 ) - // Where V1 is unit lower triangular. + /* Let V = ( V1 ) (first K rows) + * ( V2 ) + * Where V1 is unit lower triangular. + */ if ( side === 'left' ) { - // Form H * C or H ^ T * C where C = ( C1 ) - // ( C2 ) - // W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) - // W := C1**T + /* Form H * C or H ^ T * C where C = ( C1 ) + * ( C2 ) + * W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) + * W := C1**T + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( j * strideC1 ); // C( j, 1 ) - 0 based index wOffset = offsetWork + ( j * strideWork2 ); // W( 1, j ) - 0 based index @@ -135,9 +137,10 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of } } } else if ( side === 'right' ) { - // Form C * H or C * H ^ T where C = ( C1 C2 ) - // W := C * V = (C1*V1 + C2*V2) (stored in WORK) - // W := C1 + /* Form C * H or C * H ^ T where C = ( C1 C2 ) + * W := C * V = (C1*V1 + C2*V2) (stored in WORK) + * W := C1 + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( j * strideC2 ); // C( 1, j ) - 0 based index wOffset = offsetWork + ( j * strideWork2 ); // W( 1, j ) - 0 based index @@ -174,15 +177,17 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of } } } else { - // Let V = ( V1 ) - // ( V2 ) (last K rows) - // Where V2 is unit upper triangular. + /* Let V = ( V1 ) + * ( V2 ) (last K rows) + * Where V2 is unit upper triangular. + */ if ( side === 'left' ) { - // Form H * C or H ^ T * C where C = ( C1 ) - // ( C2 ) - // W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) - // W := C2**T + /* Form H * C or H ^ T * C where C = ( C1 ) + * ( C2 ) + * W := C**T * V = (C1**T * V1 + C2**T * V2) (stored in WORK) + * W := C2**T + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( (M-K+j) * strideC1 ); wOffset = offsetWork + ( j * strideWork2 ); @@ -216,9 +221,10 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of } } } else if ( side === 'right' ) { - // Form C * H or C * H ^ T where C = ( C1 C2 ) - // W := C * V = (C1*V1 + C2*V2) (stored in WORK) - // W := C2 + /* Form C * H or C * H ^ T where C = ( C1 C2 ) + * W := C * V = (C1*V1 + C2*V2) (stored in WORK) + * W := C2 + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( (N-K+j) * strideC2 ); wOffset = offsetWork + ( j * strideWork2 ); @@ -253,15 +259,17 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of } } } - } else if ( storev === 'row-major' ) { + } else if ( storev === 'rows' ) { if ( direct === 'forward' ) { - // Let V = ( V1 V2 ) (V1: first K columns) - // Where V1 is unit upper triangular. + /* Let V = ( V1 V2 ) (V1: first K columns) + * Where V1 is unit upper triangular. + */ if ( side === 'left' ) { - // Form H * C or H ^ T * C where C = ( C1 ) - // ( C2 ) - // W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) - // W := C1**T + /* Form H * C or H ^ T * C where C = ( C1 ) + * ( C2 ) + * W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in work) + * W := C1**T + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( j * strideC1 ); wOffset = offsetWork + ( j * strideWork2 ); @@ -297,9 +305,10 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of } } } else if ( side === 'right' ) { - // Form C * H or C * H ^ T where C = ( C1 C2 ) - // W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) - // W := C1 + /* Form C * H or C * H ^ T where C = ( C1 C2 ) + * W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) + * W := C1 + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( j * strideC2 ); wOffset = offsetWork + ( j * strideWork2 ); @@ -336,13 +345,15 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of } } } else { - // Let V = ( V1 V2 ) (V2: last K columns) - // Where V2 is unit lower triangular. + /* Let V = ( V1 V2 ) (V2: last K columns) + * Where V2 is unit lower triangular. + */ if ( side === 'left' ) { - // Form H * C or H ^ T * C where C = ( C1 ) - // ( C2 ) - // W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) - // W := C2**T + /* Form H * C or H ^ T * C where C = ( C1 ) + * ( C2 ) + * W := C**T * V**T = (C1**T * V1**T + C2**T * V2**T) (stored in WORK) + * W := C2**T + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( (M-K+j) * strideC1 ); wOffset = offsetWork + ( j * strideWork2 ); @@ -376,9 +387,10 @@ function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, of } } } else if ( side === 'right' ) { - // Form C * H or C * H ^ T where C = ( C1 C2 ) - // W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) - // W := C2 + /* Form C * H or C * H ^ T where C = ( C1 C2 ) + * W := C * V**T = (C1*V1**T + C2*V2**T) (stored in WORK) + * W := C2 + */ for ( j = 0; j < K; j++ ) { cOffset = offsetC + ( (N-K+j) * strideC2 ); wOffset = offsetWork + ( j * strideWork2 ); diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dlarfb.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dlarfb.js new file mode 100644 index 000000000000..81b0189c54bf --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/dlarfb.js @@ -0,0 +1,185 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isLayout = require( '@stdlib/blas/base/assert/is-layout' ); +var isOperationSide = require( '@stdlib/blas/base/assert/is-operation-side' ); +var isTransposeOperation = require( '@stdlib/blas/base/assert/is-transpose-operation' ); +var isMatrixOrientation = require( '@stdlib/blas/base/assert/is-matrix-orientation' ); +var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major-string' ); +var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' ); +var max = require( '@stdlib/math/base/special/max' ); +var format = require( '@stdlib/string/format' ); +var base = require( './base.js' ); + + +// MAIN // + +/** +* Applies a real block reflector `H` or its transpose `H ^ T` to a real `M` by `N` matrix `C`, from either the left or the right. +* +* @param {string} order - storage layout +* @param {string} side - specifies whether `H` or `H ^ T` is applied from the left or right +* @param {string} trans - specifies whether to apply `H` or `H ^ T` (`'no-transpose'` or `'transpose'`) +* @param {string} direct - indicates how `H` is formed from a product of elementary reflectors (`'forward'` or `'backward'`) +* @param {string} storev - indicates how the vectors which define the elementary reflectors are stored (`'column-major'` or `'row-major'`) +* @param {NonNegativeInteger} M - number of rows of the matrix `C` +* @param {NonNegativeInteger} N - number of columns of the matrix `C` +* @param {NonNegativeInteger} K - order of the matrix `T` +* @param {Float64Array} V - input matrix +* @param {PositiveInteger} LDV - leading dimension of `V` +* @param {Float64Array} T - input matrix (upper/lower triangular as dictated by `direct`/`storev`) +* @param {PositiveInteger} LDT - leading dimension of `T` (must be ≥ max(1,K)) +* @param {Float64Array} C - input/output matrix +* @param {PositiveInteger} LDC - leading dimension of `C` +* @param {Float64Array} work - work array +* @param {PositiveInteger} LDWORK - leading dimension of `work` +* @throws {TypeError} first argument must be a valid order +* @throws {TypeError} invalid `side` +* @throws {TypeError} invalid `trans` +* @throws {TypeError} invalid `direct` +* @throws {TypeError} invalid `storev` +* @throws {RangeError} invalid leading dimension(s) +* @returns {Float64Array} updated matrix `C` +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var V = new Float64Array( [ 10.0, 40.0, 70.0, 20.0, 50.0, 80.0, 30.0, 60.0, 90.0 ] ); +* var T = new Float64Array( [ 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 3.0 ] ); +* var C = new Float64Array( [ 11.0, 12.0, 13.0, 21.0, 22.0, 23.0, 31.0, 32.0, 33.0 ] ); +* var work = new Float64Array( 9 ); +* +* dlarfb( 'row-major', 'left', 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, T, 3, C, 3, work, 3 ); +* +* // C => [ -1350.00, -1400.00, -1450.00, -30961.00, -32102.00, -33243.00, -266612.00, -275464.00, -284316.00 ] +*/ +function dlarfb( order, side, trans, direct, storev, M, N, K, V, LDV, T, LDT, C, LDC, work, LDWORK ) { // eslint-disable-line max-params, max-len + var requiredLdwork; + var sv1; + var sv2; + var st1; + var st2; + var sc1; + var sc2; + var sw1; + var sw2; + + if ( !isLayout( order ) ) { + throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) ); + } + if ( !isOperationSide( side ) ) { + throw new TypeError( format( 'invalid argument. Second argument must be a valid BLAS operation side. Value: `%s`.', side ) ); + } + if ( !isTransposeOperation( trans ) ) { + throw new TypeError( format( 'invalid argument. Third argument must be a valid BLAS transpose operation. Value: `%s`.', trans ) ); + } + if ( direct !== 'forward' && direct !== 'backward' ) { + throw new TypeError( format( 'invalid argument. Fourth argument must be either `forward` or `backward`. Value: `%s`.', direct ) ); + } + if ( !isMatrixOrientation( storev ) ) { + throw new TypeError( format( 'invalid argument. Fifth argument must be a valid matrix orientation. Value: `%s`.', storev ) ); + } + + if ( isRowMajor( order ) ) { + if ( LDC < max( 1, N ) ) { + throw new RangeError( format( 'invalid argument. Thirteenth argument must be greater than or equal to max(1,%d). Value: `%d`.', N, LDC ) ); + } + if ( LDT < max( 1, K ) ) { + throw new RangeError( format( 'invalid argument. Twelfth argument must be greater than or equal to max(1,%d). Value: `%d`.', K, LDT ) ); + } + if ( storev === 'columns' ) { + if ( LDV < max( 1, K ) ) { + throw new RangeError( format( 'invalid argument. Eleventh argument must be greater than or equal to max(1,%d). Value: `%d`.', K, LDV ) ); + } + } else if ( storev === 'rows' ) { + if ( side === 'left' ) { + if ( LDV < max( 1, M ) ) { + throw new RangeError( format( 'invalid argument. Eleventh argument must be greater than or equal to max(1,%d). Value: `%d`.', M, LDV ) ); + } + } else if ( side === 'right' ) { + if ( LDV < max( 1, N ) ) { + throw new RangeError( format( 'invalid argument. Eleventh argument must be greater than or equal to max(1,%d). Value: `%d`.', N, LDV ) ); + } + } + } + if ( LDWORK < max( 1, K ) ) { + throw new RangeError( format( 'invalid argument. Fifteenth argument must be greater than or equal to max(1,%d). Value: `%d`.', K, LDWORK ) ); + } + } else if ( isColumnMajor( order ) ) { + if ( LDC < max( 1, M ) ) { + throw new RangeError( format( 'invalid argument. Thirteenth argument must be greater than or equal to max(1,%d). Value: `%d`.', M, LDC ) ); + } + if ( LDT < max( 1, K ) ) { + throw new RangeError( format( 'invalid argument. Twelfth argument must be greater than or equal to max(1,%d). Value: `%d`.', K, LDT ) ); + } + if ( storev === 'columns' ) { + if ( side === 'left' ) { + if ( LDV < max( 1, M ) ) { + throw new RangeError( format( 'invalid argument. Eleventh argument must be greater than or equal to max(1,%d). Value: `%d`.', M, LDV ) ); + } + } else if ( side === 'right' ) { + if ( LDV < max( 1, N ) ) { + throw new RangeError( format( 'invalid argument. Eleventh argument must be greater than or equal to max(1,%d). Value: `%d`.', N, LDV ) ); + } + } + } else if ( storev === 'rows' ) { + if ( LDV < max( 1, K ) ) { + throw new RangeError( format( 'invalid argument. Eleventh argument must be greater than or equal to max(1,%d). Value: `%d`.', K, LDV ) ); + } + } + if ( side === 'left' ) { + requiredLdwork = N; + } else { + requiredLdwork = M; + } + if ( LDWORK < max( 1, requiredLdwork ) ) { + throw new RangeError( format( 'invalid argument. Fifteenth argument must be greater than or equal to max(1,%d). Value: `%d`.', requiredLdwork, LDWORK ) ); + } + } + + if ( isColumnMajor( order ) ) { + sv1 = 1; + sv2 = LDV; + st1 = 1; + st2 = LDT; + sc1 = 1; + sc2 = LDC; + sw1 = 1; + sw2 = LDWORK; + } else { + sv1 = LDV; + sv2 = 1; + st1 = LDT; + st2 = 1; + sc1 = LDC; + sc2 = 1; + sw1 = LDWORK; + sw2 = 1; + } + + return base( side, trans, direct, storev, M, N, K, V, sv1, sv2, 0, T, st1, st2, 0, C, sc1, sc2, 0, work, sw1, sw2, 0 ); // eslint-disable-line max-len +} + + +// EXPORTS // + +module.exports = dlarfb; diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/index.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/index.js new file mode 100644 index 000000000000..cfd81ea6990d --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/index.js @@ -0,0 +1,61 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* LAPACK routine to apply a real block reflector to a matrix. +* +* @module @stdlib/lapack/base/dlarfb +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* var dlarfb = require( '@stdlib/lapack/base/dlarfb' ); +* +* var V = new Float64Array( [ 10.0, 40.0, 70.0, 20.0, 50.0, 80.0, 30.0, 60.0, 90.0 ] ); +* var T = new Float64Array( [ 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 3.0 ] ); +* var C = new Float64Array( [ 11.0, 12.0, 13.0, 21.0, 22.0, 23.0, 31.0, 32.0, 33.0 ] ); +* var work = new Float64Array( 9 ); +* +* dlarfb( 'row-major', 'left', 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, T, 3, C, 3, work, 3 ); +* +* // C => [ -1350.00, -1400.00, -1450.00, -30961.00, -32102.00, -33243.00, -266612.00, -275464.00, -284316.00 ] +*/ + +// 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 dlarfb; +var tmp = tryRequire( join( __dirname, './native.js' ) ); +if ( isError( tmp ) ) { + dlarfb = main; +} else { + dlarfb = tmp; +} + + +// EXPORTS // + +module.exports = dlarfb; diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/main.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/main.js new file mode 100644 index 000000000000..784a0ba1d0b0 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/main.js @@ -0,0 +1,35 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' ); +var dlarfb = require( './dlarfb.js' ); +var ndarray = require( './ndarray.js' ); + + +// MAIN // + +setReadOnly( dlarfb, 'ndarray', ndarray ); + + +// EXPORTS // + +module.exports = dlarfb; diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/ndarray.js new file mode 100644 index 000000000000..a799a1c163c8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/ndarray.js @@ -0,0 +1,95 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isOperationSide = require( '@stdlib/blas/base/assert/is-operation-side' ); +var isTransposeOperation = require( '@stdlib/blas/base/assert/is-transpose-operation' ); +var isMatrixOrientation = require( '@stdlib/blas/base/assert/is-matrix-orientation' ); +var format = require( '@stdlib/string/format' ); +var base = require( './base.js' ); + + +// MAIN // + +/** +* Applies a real block reflector `H` or its transpose `H ^ T` to a real `M` by `N` matrix `C`, from either the left or the right. +* +* @param {string} side - specifies whether `H` or `H ^ T` is applied from the left or right +* @param {string} trans - specifies whether to apply `H` or `H ^ T` +* @param {string} direct - indicates how `H` is formed from a product of elementary reflectors +* @param {string} storev - indicates how the vectors which define the elementary reflectors are stored +* @param {NonNegativeInteger} M - number of rows of the matrix `C` +* @param {NonNegativeInteger} N - number of columns of the matrix `C` +* @param {NonNegativeInteger} K - order of the matrix `T` +* @param {Float64Array} V - input matrix +* @param {integer} strideV1 - stride of the first dimension of `V` +* @param {integer} strideV2 - stride of the second dimension of `V` +* @param {integer} offsetV - index offset for `V` +* @param {Float64Array} T - input matrix +* @param {integer} strideT1 - stride of the first dimension of `T` +* @param {integer} strideT2 - stride of the second dimension of `T` +* @param {integer} offsetT - index offset for `T` +* @param {Float64Array} C - input matrix +* @param {integer} strideC1 - stride of the first dimension of `C` +* @param {integer} strideC2 - stride of the second dimension of `C` +* @param {integer} offsetC - index offset for `C` +* @param {Float64Array} work - work array +* @param {integer} strideWork1 - stride of the first dimension of `work` +* @param {integer} strideWork2 - stride of the second dimension of `work` +* @param {integer} offsetWork - index offset for `work` +* @throws {TypeError} first argument must be a valid BLAS operation side +* @throws {TypeError} second argument must be a valid BLAS transpose operation +* @throws {TypeError} third argument must be either `forward` or `backward` +* @throws {TypeError} fourth argument must be a valid matrix orientation +* @returns {Float64Array} updated matrix `C` +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var V = new Float64Array( [ 10.0, 40.0, 70.0, 20.0, 50.0, 80.0, 30.0, 60.0, 90.0 ] ); +* var T = new Float64Array( [ 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 3.0 ] ); +* var C = new Float64Array( [ 11.0, 12.0, 13.0, 21.0, 22.0, 23.0, 31.0, 32.0, 33.0 ] ); +* var work = new Float64Array( 9 ); +* +* dlarfb( 'left', 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, work, 3, 1, 0 ); +* +* // C => [ -1350.00, -1400.00, -1450.00, -30961.00, -32102.00, -33243.00, -266612.00, -275464.00, -284316.00 ] +*/ +function dlarfb( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, offsetV, T, strideT1, strideT2, offsetT, C, strideC1, strideC2, offsetC, work, strideWork1, strideWork2, offsetWork ) { // eslint-disable-line max-len, max-params + if ( !isOperationSide( side ) ) { + throw new TypeError( format( 'invalid argument. First argument must be a valid BLAS operation side. Value: `%s`.', side ) ); + } + if ( !isTransposeOperation( trans ) ) { + throw new TypeError( format( 'invalid argument. Second argument must be a valid BLAS transpose operation. Value: `%s`.', trans ) ); + } + if ( direct !== 'forward' && direct !== 'backward' ) { + throw new TypeError( format( 'invalid argument. Third argument must be either `forward` or `backward`. Value: `%s`.', direct ) ); + } + if ( !isMatrixOrientation( storev ) ) { + throw new TypeError( format( 'invalid argument. Fourth argument must be a valid matrix orientation. Value: `%s`.', storev ) ); + } + return base( side, trans, direct, storev, M, N, K, V, strideV1, strideV2, offsetV, T, strideT1, strideT2, offsetT, C, strideC1, strideC2, offsetC, work, strideWork1, strideWork2, offsetWork ); // eslint-disable-line max-len +} + + +// EXPORTS // + +module.exports = dlarfb; diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..7d72a3cdd2a1 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890.0, + -592880.0, + -627870.0 + ], + [ + -596341.0, + -632662.0, + -668983.0 + ], + [ + -7412.0, + -7864.0, + -8316.0 + ] + ], + "C_out": [ + -557890.0, + -596341.0, + -7412.0, + -592880.0, + -632662.0, + -7864.0, + -627870.0, + -668983.0, + -8316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..26b75259aea2 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890.0, + -592880.0, + -627870.0 + ], + [ + -596341.0, + -632662.0, + -668983.0 + ], + [ + -7412.0, + -7864.0, + -8316.0 + ] + ], + "C_out": [ + -557890.0, + -592880.0, + -627870.0, + -596341.0, + -632662.0, + -668983.0, + -7412.0, + -7864.0, + -8316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..089b50c9fcf1 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530.0, + -164560.0, + -173590.0 + ], + [ + -292241.0, + -308662.0, + -325083.0 + ], + [ + -4832.0, + -5104.0, + -5376.0 + ] + ], + "C_out": [ + -155530.0, + -292241.0, + -4832.0, + -164560.0, + -308662.0, + -5104.0, + -173590.0, + -325083.0, + -5376.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..f0b4ba7a71a5 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530.0, + -164560.0, + -173590.0 + ], + [ + -292241.0, + -308662.0, + -325083.0 + ], + [ + -4832.0, + -5104.0, + -5376.0 + ] + ], + "C_out": [ + -155530.0, + -164560.0, + -173590.0, + -292241.0, + -308662.0, + -325083.0, + -4832.0, + -5104.0, + -5376.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..36c128123170 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350.0, + -1400.0, + -1450.0 + ], + [ + -30961.0, + -32102.0, + -33243.0 + ], + [ + -266612.0, + -275464.0, + -284316.0 + ] + ], + "C_out": [ + -1350.0, + -30961.0, + -266612.0, + -1400.0, + -32102.0, + -275464.0, + -1450.0, + -33243.0, + -284316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..fc6bd532ae66 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350.0, + -1400.0, + -1450.0 + ], + [ + -30961.0, + -32102.0, + -33243.0 + ], + [ + -266612.0, + -275464.0, + -284316.0 + ] + ], + "C_out": [ + -1350.0, + -1400.0, + -1450.0, + -30961.0, + -32102.0, + -33243.0, + -266612.0, + -275464.0, + -284316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..0891f120d55d --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010.0, + -3120.0, + -3230.0 + ], + [ + -125821.0, + -130422.0, + -135023.0 + ], + [ + -611692.0, + -632424.0, + -653156.0 + ] + ], + "C_out": [ + -3010.0, + -125821.0, + -611692.0, + -3120.0, + -130422.0, + -632424.0, + -3230.0, + -135023.0, + -653156.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..5fc78b1a9548 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010.0, + -3120.0, + -3230.0 + ], + [ + -125821.0, + -130422.0, + -135023.0 + ], + [ + -611692.0, + -632424.0, + -653156.0 + ] + ], + "C_out": [ + -3010.0, + -3120.0, + -3230.0, + -125821.0, + -130422.0, + -135023.0, + -611692.0, + -632424.0, + -653156.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_col_major.json new file mode 100644 index 000000000000..5a1060a37e76 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890.0, + -592880.0, + -627870.0 + ], + [ + -596341.0, + -632662.0, + -668983.0 + ], + [ + -7412.0, + -7864.0, + -8316.0 + ] + ], + "C_out": [ + -557890.0, + -596341.0, + -7412.0, + -592880.0, + -632662.0, + -7864.0, + -627870.0, + -668983.0, + -8316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json new file mode 100644 index 000000000000..7689376d80b7 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890.0, + -592880.0, + -627870.0 + ], + [ + -596341.0, + -632662.0, + -668983.0 + ], + [ + -7412.0, + -7864.0, + -8316.0 + ] + ], + "C_out": [ + -557890.0, + -592880.0, + -627870.0, + -596341.0, + -632662.0, + -668983.0, + -7412.0, + -7864.0, + -8316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_col_major.json new file mode 100644 index 000000000000..ad1bc6d101e8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530.0, + -164560.0, + -173590.0 + ], + [ + -292241.0, + -308662.0, + -325083.0 + ], + [ + -4832.0, + -5104.0, + -5376.0 + ] + ], + "C_out": [ + -155530.0, + -292241.0, + -4832.0, + -164560.0, + -308662.0, + -5104.0, + -173590.0, + -325083.0, + -5376.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json new file mode 100644 index 000000000000..77af1ae28098 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530.0, + -164560.0, + -173590.0 + ], + [ + -292241.0, + -308662.0, + -325083.0 + ], + [ + -4832.0, + -5104.0, + -5376.0 + ] + ], + "C_out": [ + -155530.0, + -164560.0, + -173590.0, + -292241.0, + -308662.0, + -325083.0, + -4832.0, + -5104.0, + -5376.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_col_major.json new file mode 100644 index 000000000000..4dd73ad623f8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350.0, + -1400.0, + -1450.0 + ], + [ + -30961.0, + -32102.0, + -33243.0 + ], + [ + -266612.0, + -275464.0, + -284316.0 + ] + ], + "C_out": [ + -1350.0, + -30961.0, + -266612.0, + -1400.0, + -32102.0, + -275464.0, + -1450.0, + -33243.0, + -284316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json new file mode 100644 index 000000000000..5a84dd226ef0 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350.0, + -1400.0, + -1450.0 + ], + [ + -30961.0, + -32102.0, + -33243.0 + ], + [ + -266612.0, + -275464.0, + -284316.0 + ] + ], + "C_out": [ + -1350.0, + -1400.0, + -1450.0, + -30961.0, + -32102.0, + -33243.0, + -266612.0, + -275464.0, + -284316.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_col_major.json new file mode 100644 index 000000000000..ffb9e833c14e --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010.0, + -3120.0, + -3230.0 + ], + [ + -125821.0, + -130422.0, + -135023.0 + ], + [ + -611692.0, + -632424.0, + -653156.0 + ] + ], + "C_out": [ + -3010.0, + -125821.0, + -611692.0, + -3120.0, + -130422.0, + -632424.0, + -3230.0, + -135023.0, + -653156.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json new file mode 100644 index 000000000000..a1c7aecb6dc9 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010.0, + -3120.0, + -3230.0 + ], + [ + -125821.0, + -130422.0, + -135023.0 + ], + [ + -611692.0, + -632424.0, + -653156.0 + ] + ], + "C_out": [ + -3010.0, + -3120.0, + -3230.0, + -125821.0, + -130422.0, + -135023.0, + -611692.0, + -632424.0, + -653156.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..c6277b57da06 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190.0, + -419212.0, + -5216.0 + ], + [ + -752090.0, + -782422.0, + -9736.0 + ], + [ + -1101990.0, + -1145632.0, + -14256.0 + ] + ], + "C_out": [ + -402190.0, + -752090.0, + -1101990.0, + -419212.0, + -782422.0, + -1145632.0, + -5216.0, + -9736.0, + -14256.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..a17990a95049 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190.0, + -419212.0, + -5216.0 + ], + [ + -752090.0, + -782422.0, + -9736.0 + ], + [ + -1101990.0, + -1145632.0, + -14256.0 + ] + ], + "C_out": [ + -402190.0, + -419212.0, + -5216.0, + -752090.0, + -782422.0, + -9736.0, + -1101990.0, + -1145632.0, + -14256.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..908b2e29de16 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950.0, + -191792.0, + -3176.0 + ], + [ + -195250.0, + -356002.0, + -5896.0 + ], + [ + -285550.0, + -520212.0, + -8616.0 + ] + ], + "C_out": [ + -104950.0, + -195250.0, + -285550.0, + -191792.0, + -356002.0, + -520212.0, + -3176.0, + -5896.0, + -8616.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..3af1f75bb5d9 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950.0, + -191792.0, + -3176.0 + ], + [ + -195250.0, + -356002.0, + -5896.0 + ], + [ + -285550.0, + -520212.0, + -8616.0 + ] + ], + "C_out": [ + -104950.0, + -191792.0, + -3176.0, + -195250.0, + -356002.0, + -5896.0, + -285550.0, + -520212.0, + -8616.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..5c132c045430 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630.0, + -14392.0, + -114296.0 + ], + [ + -1130.0, + -25802.0, + -202816.0 + ], + [ + -1630.0, + -37212.0, + -291336.0 + ] + ], + "C_out": [ + -630.0, + -1130.0, + -1630.0, + -14392.0, + -25802.0, + -37212.0, + -114296.0, + -202816.0, + -291336.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..fd2d094f2125 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630.0, + -14392.0, + -114296.0 + ], + [ + -1130.0, + -25802.0, + -202816.0 + ], + [ + -1630.0, + -37212.0, + -291336.0 + ] + ], + "C_out": [ + -630.0, + -14392.0, + -114296.0, + -1130.0, + -25802.0, + -202816.0, + -1630.0, + -37212.0, + -291336.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..bc26e5187ff1 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390.0, + -58132.0, + -266416.0 + ], + [ + -2490.0, + -104142.0, + -473736.0 + ], + [ + -3590.0, + -150152.0, + -681056.0 + ] + ], + "C_out": [ + -1390.0, + -2490.0, + -3590.0, + -58132.0, + -104142.0, + -150152.0, + -266416.0, + -473736.0, + -681056.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..eb3a994301d9 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390.0, + -58132.0, + -266416.0 + ], + [ + -2490.0, + -104142.0, + -473736.0 + ], + [ + -3590.0, + -150152.0, + -681056.0 + ] + ], + "C_out": [ + -1390.0, + -58132.0, + -266416.0, + -2490.0, + -104142.0, + -473736.0, + -3590.0, + -150152.0, + -681056.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_col_major.json new file mode 100644 index 000000000000..d77de0576056 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190.0, + -419212.0, + -5216.0 + ], + [ + -752090.0, + -782422.0, + -9736.0 + ], + [ + -1101990.0, + -1145632.0, + -14256.0 + ] + ], + "C_out": [ + -402190.0, + -752090.0, + -1101990.0, + -419212.0, + -782422.0, + -1145632.0, + -5216.0, + -9736.0, + -14256.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json new file mode 100644 index 000000000000..75b46140a2d3 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190.0, + -419212.0, + -5216.0 + ], + [ + -752090.0, + -782422.0, + -9736.0 + ], + [ + -1101990.0, + -1145632.0, + -14256.0 + ] + ], + "C_out": [ + -402190.0, + -419212.0, + -5216.0, + -752090.0, + -782422.0, + -9736.0, + -1101990.0, + -1145632.0, + -14256.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_col_major.json new file mode 100644 index 000000000000..4808276d2cc8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950.0, + -191792.0, + -3176.0 + ], + [ + -195250.0, + -356002.0, + -5896.0 + ], + [ + -285550.0, + -520212.0, + -8616.0 + ] + ], + "C_out": [ + -104950.0, + -195250.0, + -285550.0, + -191792.0, + -356002.0, + -520212.0, + -3176.0, + -5896.0, + -8616.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json new file mode 100644 index 000000000000..b1cadd2e751e --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950.0, + -191792.0, + -3176.0 + ], + [ + -195250.0, + -356002.0, + -5896.0 + ], + [ + -285550.0, + -520212.0, + -8616.0 + ] + ], + "C_out": [ + -104950.0, + -191792.0, + -3176.0, + -195250.0, + -356002.0, + -5896.0, + -285550.0, + -520212.0, + -8616.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_col_major.json new file mode 100644 index 000000000000..b5bab9d0abc7 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630.0, + -14392.0, + -114296.0 + ], + [ + -1130.0, + -25802.0, + -202816.0 + ], + [ + -1630.0, + -37212.0, + -291336.0 + ] + ], + "C_out": [ + -630.0, + -1130.0, + -1630.0, + -14392.0, + -25802.0, + -37212.0, + -114296.0, + -202816.0, + -291336.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json new file mode 100644 index 000000000000..2dd8967fc790 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630.0, + -14392.0, + -114296.0 + ], + [ + -1130.0, + -25802.0, + -202816.0 + ], + [ + -1630.0, + -37212.0, + -291336.0 + ] + ], + "C_out": [ + -630.0, + -14392.0, + -114296.0, + -1130.0, + -25802.0, + -202816.0, + -1630.0, + -37212.0, + -291336.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_col_major.json new file mode 100644 index 000000000000..6935cfffb1dd --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 21.0, + 31.0, + 12.0, + 22.0, + 32.0, + 13.0, + 23.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390.0, + -58132.0, + -266416.0 + ], + [ + -2490.0, + -104142.0, + -473736.0 + ], + [ + -3590.0, + -150152.0, + -681056.0 + ] + ], + "C_out": [ + -1390.0, + -2490.0, + -3590.0, + -58132.0, + -104142.0, + -150152.0, + -266416.0, + -473736.0, + -681056.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json new file mode 100644 index 000000000000..5df869dc97b8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10.0, + 40.0, + 70.0 + ], + [ + 20.0, + 50.0, + 80.0 + ], + [ + 30.0, + 60.0, + 90.0 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 0, + "LDV": 3, + "V": [ + 10.0, + 40.0, + 70.0, + 20.0, + 50.0, + 80.0, + 30.0, + 60.0, + 90.0 + ], + "T_mat": [ + [ + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 2.0, + 0.0 + ], + [ + 0.0, + 0.0, + 3.0 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 0, + "LDT": 3, + "T": [ + 1.0, + 0.0, + 0.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 3.0 + ], + "C_mat": [ + [ + 11.0, + 12.0, + 13.0 + ], + [ + 21.0, + 22.0, + 23.0 + ], + [ + 31.0, + 32.0, + 33.0 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 0, + "LDC": 3, + "C": [ + 11.0, + 12.0, + 13.0, + 21.0, + 22.0, + 23.0, + 31.0, + 32.0, + 33.0 + ], + "work_mat": [ + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390.0, + -58132.0, + -266416.0 + ], + [ + -2490.0, + -104142.0, + -473736.0 + ], + [ + -3590.0, + -150152.0, + -681056.0 + ] + ], + "C_out": [ + -1390.0, + -58132.0, + -266416.0, + -2490.0, + -104142.0, + -473736.0, + -3590.0, + -150152.0, + -681056.0 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.dlarfb.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.dlarfb.js new file mode 100644 index 000000000000..b55e889ae03f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.dlarfb.js @@ -0,0 +1,1042 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* eslint-disable max-len, id-length */ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var Float64Array = require( '@stdlib/array/float64' ); +var dlarfb = require( './../lib/dlarfb.js' ); + + +// FIXTURES // + +var LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/left_trans_forward_col_row_major.json' ); +var LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/left_trans_forward_col_col_major.json' ); +var LEFT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/left_trans_forward_row_row_major.json' ); +var LEFT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/left_trans_forward_row_col_major.json' ); +var LEFT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/left_trans_backward_col_row_major.json' ); +var LEFT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/left_trans_backward_col_col_major.json' ); +var LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/left_trans_backward_row_row_major.json' ); +var LEFT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/left_trans_backward_row_col_major.json' ); + +var LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/left_notrans_forward_col_row_major.json' ); +var LEFT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/left_notrans_forward_col_col_major.json' ); +var LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/left_notrans_forward_row_row_major.json' ); +var LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/left_notrans_forward_row_col_major.json' ); +var LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/left_notrans_backward_col_row_major.json' ); +var LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/left_notrans_backward_col_col_major.json' ); +var LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/left_notrans_backward_row_row_major.json' ); +var LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/left_notrans_backward_row_col_major.json' ); + +var RIGHT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/right_trans_forward_col_row_major.json' ); +var RIGHT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/right_trans_forward_col_col_major.json' ); +var RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/right_trans_forward_row_row_major.json' ); +var RIGHT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/right_trans_forward_row_col_major.json' ); +var RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/right_trans_backward_col_row_major.json' ); +var RIGHT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/right_trans_backward_col_col_major.json' ); +var RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/right_trans_backward_row_row_major.json' ); +var RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/right_trans_backward_row_col_major.json' ); + +var RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/right_notrans_forward_col_row_major.json' ); +var RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/right_notrans_forward_col_col_major.json' ); +var RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/right_notrans_forward_row_row_major.json' ); +var RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/right_notrans_forward_row_col_major.json' ); +var RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/right_notrans_backward_col_row_major.json' ); +var RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/right_notrans_backward_col_col_major.json' ); +var RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/right_notrans_backward_row_row_major.json' ); +var RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/right_notrans_backward_row_col_major.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof dlarfb, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function throws an error if provided a first argument which is not a valid order', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'bar', -5, NaN, true, false, null, void 0, [], {}, function noop() {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( value, 'left', 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, T, 3, C, 3, new Float64Array( 9 ), 3 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `side`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( 'row-major', value, 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, T, 3, C, 3, new Float64Array( 9 ), 3 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `trans`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( 'row-major', 'left', value, 'forward', 'columns', 3, 3, 3, V, 3, T, 3, C, 3, new Float64Array( 9 ), 3 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `direct`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( 'row-major', 'left', 'transpose', value, 'columns', 3, 3, 3, V, 3, T, 3, C, 3, new Float64Array( 9 ), 3 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `storev`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( 'row-major', 'left', 'transpose', 'forward', value, 3, 3, 3, V, 3, T, 3, C, 3, new Float64Array( 9 ), 3 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `LDC`', function test( t ) { + var values; + var data; + var i; + + data = LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + values = [ 0, 1, 2 ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badRow( values[ i ] ), RangeError, 'row-major throws when provided ' + values[ i ] ); + t.throws( badCol( values[ i ] ), RangeError, 'column-major throws when provided ' + values[ i ] ); + } + t.end(); + + function badRow( value ) { + return function badRow() { + dlarfb( data.order, data.side, data.trans, data.direct, 'columns', data.M, data.N, data.K, new Float64Array( data.V ), data.LDV, new Float64Array( data.T ), data.LDT, new Float64Array( data.C ), value, new Float64Array( data.work ), data.LDWORK ); + }; + } + + function badCol( value ) { + return function badCol() { + dlarfb( data.order, data.side, data.trans, data.direct, 'columns', data.M, data.N, data.K, new Float64Array( data.V ), data.LDV, new Float64Array( data.T ), data.LDT, new Float64Array( data.C ), value, new Float64Array( data.work ), data.LDWORK ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `LDT`', function test( t ) { + var values; + var data; + var V; + var T; + var C; + var i; + + data = LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + + values = [ 0, 1, 2 ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), RangeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( data.order, data.side, data.trans, data.direct, 'columns', data.M, data.N, data.K, V, data.LDV, T, value, C, data.LDC, new Float64Array( data.work ), data.LDWORK ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `LDV` for row-major with rows orientation (left side)', function test( t ) { + var values; + var data; + var V; + var T; + var C; + var i; + + data = LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + + values = [ 0, 1, 2 ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), RangeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( data.order, data.side, data.trans, data.direct, 'rows', data.M, data.N, data.K, V, value, T, data.LDT, C, data.LDC, new Float64Array( data.work ), data.LDWORK ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `LDWORK` for column-major (side dependent)', function test( t ) { + var values; + var data; + var V; + var T; + var C; + var i; + + data = LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + + values = [ 0, 1, 2 ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), RangeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( data.order, data.side, data.trans, data.direct, 'columns', data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, new Float64Array( data.work ), value ); + }; + } +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +// Tests for left side, no-transpose cases +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +// Tests for right side, transpose cases +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +// Tests for right side, no-transpose cases +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.order, data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.LDV, T, data.LDT, C, data.LDC, work, data.LDWORK ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.js new file mode 100644 index 000000000000..0fe4ee138b2c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.js @@ -0,0 +1,82 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var proxyquire = require( 'proxyquire' ); +var IS_BROWSER = require( '@stdlib/assert/is-browser' ); +var dlarfb = 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 dlarfb, '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 dlarfb.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 dlarfb = proxyquire( './../lib', { + '@stdlib/utils/try-require': tryRequire + }); + + t.strictEqual( dlarfb, 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 dlarfb; + var main; + + main = require( './../lib/dlarfb.js' ); + + dlarfb = proxyquire( './../lib', { + '@stdlib/utils/try-require': tryRequire + }); + + t.strictEqual( dlarfb, main, 'returns expected value' ); + t.end(); + + function tryRequire() { + return new Error( 'Cannot find module' ); + } +}); diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js new file mode 100644 index 000000000000..2f263d0b85f3 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js @@ -0,0 +1,184 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* eslint-disable max-len, id-length */ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var Float64Array = require( '@stdlib/array/float64' ); +var dlarfb = require( './../lib/ndarray.js' ); + + +// FIXTURES // + +var LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/left_trans_forward_col_row_major.json' ); +var LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/left_trans_forward_col_col_major.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof dlarfb, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function throws an error if provided an invalid `side`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( value, 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `trans`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( 'left', value, 'forward', 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `direct`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( 'left', 'transpose', value, 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); + }; + } +}); + +tape( 'the function throws an error if provided an invalid `storev`', function test( t ) { + var values; + var V; + var T; + var C; + var i; + + V = new Float64Array( 9 ); + T = new Float64Array( 9 ); + C = new Float64Array( 9 ); + + values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; + for ( i = 0; i < values.length; i++ ) { + t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); + } + t.end(); + + function badValue( value ) { + return function badValue() { + dlarfb( 'left', 'transpose', 'forward', value, 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); + }; + } +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); From 9bb3b9f7ba64e8b36aa54f426c15ac0b85747c87 Mon Sep 17 00:00:00 2001 From: Aayush Khanna Date: Sun, 10 Aug 2025 16:42:30 +0530 Subject: [PATCH 3/5] feat: add tests --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../lapack/base/dlarfb/test/test.ndarray.js | 54 ------------------- 1 file changed, 54 deletions(-) diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js index 2f263d0b85f3..16e6c6aa5edf 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js @@ -16,8 +16,6 @@ * limitations under the License. */ -/* eslint-disable max-len, id-length */ - 'use strict'; // MODULES // @@ -27,12 +25,6 @@ var Float64Array = require( '@stdlib/array/float64' ); var dlarfb = require( './../lib/ndarray.js' ); -// FIXTURES // - -var LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/left_trans_forward_col_row_major.json' ); -var LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/left_trans_forward_col_col_major.json' ); - - // TESTS // tape( 'main export is a function', function test( t ) { @@ -136,49 +128,3 @@ tape( 'the function throws an error if provided an invalid `storev`', function t }; } }); - -tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major)', function test( t ) { - var expected; - var work; - var data; - var out; - var V; - var T; - var C; - - data = LEFT_TRANS_FORWARD_COL_ROW_MAJOR; - - expected = new Float64Array( data.C_out ); - V = new Float64Array( data.V ); - T = new Float64Array( data.T ); - C = new Float64Array( data.C ); - work = new Float64Array( data.work ); - - out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); - t.strictEqual( out, C, 'returns expected value' ); - t.deepEqual( out, expected, 'returns expected value' ); - t.end(); -}); - -tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major)', function test( t ) { - var expected; - var work; - var data; - var out; - var V; - var T; - var C; - - data = LEFT_TRANS_FORWARD_COL_COL_MAJOR; - - expected = new Float64Array( data.C_out ); - V = new Float64Array( data.V ); - T = new Float64Array( data.T ); - C = new Float64Array( data.C ); - work = new Float64Array( data.work ); - - out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); - t.strictEqual( out, C, 'returns expected value' ); - t.deepEqual( out, expected, 'returns expected value' ); - t.end(); -}); From 0cc25ac22906ad6c4204a92b8c05ffaed7804455 Mon Sep 17 00:00:00 2001 From: Aayush Khanna Date: Mon, 11 Aug 2025 10:25:08 +0530 Subject: [PATCH 4/5] test: add all tests --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../left_notrans_backward_col_col_major.json | 211 + .../left_notrans_backward_col_row_major.json | 211 + .../left_notrans_backward_row_col_major.json | 211 + .../left_notrans_backward_row_row_major.json | 211 + .../left_notrans_forward_col_col_major.json | 211 + .../left_notrans_forward_col_row_major.json | 211 + .../left_notrans_forward_row_col_major.json | 211 + .../left_notrans_forward_row_row_major.json | 211 + .../left_trans_backward_col_col_major.json | 211 + .../left_trans_backward_col_row_major.json | 211 + .../left_trans_backward_row_col_major.json | 211 + .../left_trans_backward_row_row_major.json | 211 + .../left_trans_forward_col_col_major.json | 211 + .../left_trans_forward_col_row_major.json | 211 + .../left_trans_forward_row_col_major.json | 211 + .../left_trans_forward_row_row_major.json | 211 + .../right_notrans_backward_col_col_major.json | 211 + .../right_notrans_backward_col_row_major.json | 211 + .../right_notrans_backward_row_col_major.json | 211 + .../right_notrans_backward_row_row_major.json | 211 + .../right_notrans_forward_col_col_major.json | 211 + .../right_notrans_forward_col_row_major.json | 211 + .../right_notrans_forward_row_col_major.json | 211 + .../right_notrans_forward_row_row_major.json | 211 + .../right_trans_backward_col_col_major.json | 211 + .../right_trans_backward_col_row_major.json | 211 + .../right_trans_backward_row_col_major.json | 211 + .../right_trans_backward_row_row_major.json | 211 + .../right_trans_forward_col_col_major.json | 211 + .../right_trans_forward_col_row_major.json | 211 + .../right_trans_forward_row_col_major.json | 211 + .../right_trans_forward_row_row_major.json | 211 + .../left_notrans_backward_col_row_major.json | 16 +- .../left_notrans_backward_row_row_major.json | 16 +- .../left_notrans_forward_col_row_major.json | 16 +- .../left_notrans_forward_row_row_major.json | 16 +- .../left_trans_backward_col_row_major.json | 16 +- .../left_trans_backward_row_row_major.json | 16 +- .../left_trans_forward_col_row_major.json | 16 +- .../left_trans_forward_row_row_major.json | 16 +- .../left_notrans_backward_col_col_major.json | 166 + .../left_notrans_backward_col_row_major.json | 166 + .../left_notrans_backward_row_col_major.json | 166 + .../left_notrans_backward_row_row_major.json | 166 + .../left_notrans_forward_col_col_major.json | 166 + .../left_notrans_forward_col_row_major.json | 166 + .../left_notrans_forward_row_col_major.json | 166 + .../left_notrans_forward_row_row_major.json | 166 + .../left_trans_backward_col_col_major.json | 166 + .../left_trans_backward_col_row_major.json | 166 + .../left_trans_backward_row_col_major.json | 166 + .../left_trans_backward_row_row_major.json | 166 + .../left_trans_forward_col_col_major.json | 166 + .../left_trans_forward_col_row_major.json | 166 + .../left_trans_forward_row_col_major.json | 166 + .../left_trans_forward_row_row_major.json | 166 + .../right_notrans_backward_col_col_major.json | 166 + .../right_notrans_backward_col_row_major.json | 166 + .../right_notrans_backward_row_col_major.json | 166 + .../right_notrans_backward_row_row_major.json | 166 + .../right_notrans_forward_col_col_major.json | 166 + .../right_notrans_forward_col_row_major.json | 166 + .../right_notrans_forward_row_col_major.json | 166 + .../right_notrans_forward_row_row_major.json | 166 + .../right_trans_backward_col_col_major.json | 166 + .../right_trans_backward_col_row_major.json | 166 + .../right_trans_backward_row_col_major.json | 166 + .../right_trans_backward_row_row_major.json | 166 + .../right_trans_forward_col_col_major.json | 166 + .../right_trans_forward_col_row_major.json | 166 + .../right_trans_forward_row_col_major.json | 166 + .../right_trans_forward_row_row_major.json | 166 + .../left_notrans_backward_col_col_major.json | 166 + .../left_notrans_backward_col_row_major.json | 166 + .../left_notrans_backward_row_col_major.json | 166 + .../left_notrans_backward_row_row_major.json | 166 + .../left_notrans_forward_col_col_major.json | 166 + .../left_notrans_forward_col_row_major.json | 166 + .../left_notrans_forward_row_col_major.json | 166 + .../left_notrans_forward_row_row_major.json | 166 + .../left_trans_backward_col_col_major.json | 166 + .../left_trans_backward_col_row_major.json | 166 + .../left_trans_backward_row_col_major.json | 166 + .../left_trans_backward_row_row_major.json | 166 + .../left_trans_forward_col_col_major.json | 166 + .../left_trans_forward_col_row_major.json | 166 + .../left_trans_forward_row_col_major.json | 166 + .../left_trans_forward_row_row_major.json | 166 + .../right_notrans_backward_col_col_major.json | 166 + .../right_notrans_backward_col_row_major.json | 166 + .../right_notrans_backward_row_col_major.json | 166 + .../right_notrans_backward_row_row_major.json | 166 + .../right_notrans_forward_col_col_major.json | 166 + .../right_notrans_forward_col_row_major.json | 166 + .../right_notrans_forward_row_col_major.json | 166 + .../right_notrans_forward_row_row_major.json | 166 + .../right_trans_backward_col_col_major.json | 166 + .../right_trans_backward_col_row_major.json | 166 + .../right_trans_backward_row_col_major.json | 166 + .../right_trans_backward_row_row_major.json | 166 + .../right_trans_forward_col_col_major.json | 166 + .../right_trans_forward_col_row_major.json | 166 + .../right_trans_forward_row_col_major.json | 166 + .../right_trans_forward_row_row_major.json | 166 + .../left_notrans_backward_col_col_major.json | 171 + .../left_notrans_backward_col_row_major.json | 171 + .../left_notrans_backward_row_col_major.json | 171 + .../left_notrans_backward_row_row_major.json | 171 + .../left_notrans_forward_col_col_major.json | 171 + .../left_notrans_forward_col_row_major.json | 171 + .../left_notrans_forward_row_col_major.json | 171 + .../left_notrans_forward_row_row_major.json | 171 + .../left_trans_backward_col_col_major.json | 171 + .../left_trans_backward_col_row_major.json | 171 + .../left_trans_backward_row_col_major.json | 171 + .../left_trans_backward_row_row_major.json | 171 + .../left_trans_forward_col_col_major.json | 171 + .../left_trans_forward_col_row_major.json | 171 + .../left_trans_forward_row_col_major.json | 171 + .../left_trans_forward_row_row_major.json | 171 + .../right_notrans_backward_col_col_major.json | 171 + .../right_notrans_backward_col_row_major.json | 171 + .../right_notrans_backward_row_col_major.json | 171 + .../right_notrans_backward_row_row_major.json | 171 + .../right_notrans_forward_col_col_major.json | 171 + .../right_notrans_forward_col_row_major.json | 171 + .../right_notrans_forward_row_col_major.json | 171 + .../right_notrans_forward_row_row_major.json | 171 + .../right_trans_backward_col_col_major.json | 171 + .../right_trans_backward_col_row_major.json | 171 + .../right_trans_backward_row_col_major.json | 171 + .../right_trans_backward_row_row_major.json | 171 + .../right_trans_forward_col_col_major.json | 171 + .../right_trans_forward_col_row_major.json | 171 + .../right_trans_forward_row_col_major.json | 171 + .../right_trans_forward_row_row_major.json | 171 + .../right_notrans_backward_col_row_major.json | 16 +- .../right_notrans_backward_row_row_major.json | 16 +- .../right_notrans_forward_col_row_major.json | 16 +- .../right_notrans_forward_row_row_major.json | 16 +- .../right_trans_backward_col_row_major.json | 16 +- .../right_trans_backward_row_row_major.json | 16 +- .../right_trans_forward_col_row_major.json | 16 +- .../right_trans_forward_row_row_major.json | 16 +- .../lapack/base/dlarfb/test/test.ndarray.js | 3898 ++++++++++++++++- 145 files changed, 26827 insertions(+), 175 deletions(-) create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_row_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_col_major.json create mode 100644 lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_row_major.json diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..5a0294218d5c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -557890, + 9999, + -596341, + 9999, + -7412, + 9999, + -592880, + 9999, + -632662, + 9999, + -7864, + 9999, + -627870, + 9999, + -668983, + 9999, + -8316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..bce44356651c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -557890, + 9999, + -592880, + 9999, + -627870, + 9999, + -596341, + 9999, + -632662, + 9999, + -668983, + 9999, + -7412, + 9999, + -7864, + 9999, + -8316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..78f936311a3f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -155530, + 9999, + -292241, + 9999, + -4832, + 9999, + -164560, + 9999, + -308662, + 9999, + -5104, + 9999, + -173590, + 9999, + -325083, + 9999, + -5376, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..41389b900f56 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_backward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -155530, + 9999, + -164560, + 9999, + -173590, + 9999, + -292241, + 9999, + -308662, + 9999, + -325083, + 9999, + -4832, + 9999, + -5104, + 9999, + -5376, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..215bd3bf0537 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -1350, + 9999, + -30961, + 9999, + -266612, + 9999, + -1400, + 9999, + -32102, + 9999, + -275464, + 9999, + -1450, + 9999, + -33243, + 9999, + -284316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..fbd135cbffaf --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -1350, + 9999, + -1400, + 9999, + -1450, + 9999, + -30961, + 9999, + -32102, + 9999, + -33243, + 9999, + -266612, + 9999, + -275464, + 9999, + -284316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..25c4c7f0ef06 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -3010, + 9999, + -125821, + 9999, + -611692, + 9999, + -3120, + 9999, + -130422, + 9999, + -632424, + 9999, + -3230, + 9999, + -135023, + 9999, + -653156, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..c3e68cb4d62c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_notrans_forward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -3010, + 9999, + -3120, + 9999, + -3230, + 9999, + -125821, + 9999, + -130422, + 9999, + -135023, + 9999, + -611692, + 9999, + -632424, + 9999, + -653156, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_col_major.json new file mode 100644 index 000000000000..f68c6040dd47 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -557890, + 9999, + -596341, + 9999, + -7412, + 9999, + -592880, + 9999, + -632662, + 9999, + -7864, + 9999, + -627870, + 9999, + -668983, + 9999, + -8316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_row_major.json new file mode 100644 index 000000000000..5a345e65b024 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -557890, + 9999, + -592880, + 9999, + -627870, + 9999, + -596341, + 9999, + -632662, + 9999, + -668983, + 9999, + -7412, + 9999, + -7864, + 9999, + -8316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_col_major.json new file mode 100644 index 000000000000..b479a8c1664a --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -155530, + 9999, + -292241, + 9999, + -4832, + 9999, + -164560, + 9999, + -308662, + 9999, + -5104, + 9999, + -173590, + 9999, + -325083, + 9999, + -5376, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_row_major.json new file mode 100644 index 000000000000..b6d165d283a2 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_backward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -155530, + 9999, + -164560, + 9999, + -173590, + 9999, + -292241, + 9999, + -308662, + 9999, + -325083, + 9999, + -4832, + 9999, + -5104, + 9999, + -5376, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_col_major.json new file mode 100644 index 000000000000..a75657678f3c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -1350, + 9999, + -30961, + 9999, + -266612, + 9999, + -1400, + 9999, + -32102, + 9999, + -275464, + 9999, + -1450, + 9999, + -33243, + 9999, + -284316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_row_major.json new file mode 100644 index 000000000000..a1541eedbbae --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -1350, + 9999, + -1400, + 9999, + -1450, + 9999, + -30961, + 9999, + -32102, + 9999, + -33243, + 9999, + -266612, + 9999, + -275464, + 9999, + -284316, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_col_major.json new file mode 100644 index 000000000000..1ddf1d11c2d9 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -3010, + 9999, + -125821, + 9999, + -611692, + 9999, + -3120, + 9999, + -130422, + 9999, + -632424, + 9999, + -3230, + 9999, + -135023, + 9999, + -653156, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_row_major.json new file mode 100644 index 000000000000..697e996ad7aa --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/left_trans_forward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -3010, + 9999, + -3120, + 9999, + -3230, + 9999, + -125821, + 9999, + -130422, + 9999, + -135023, + 9999, + -611692, + 9999, + -632424, + 9999, + -653156, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..228438e2b6f8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -402190, + 9999, + -752090, + 9999, + -1101990, + 9999, + -419212, + 9999, + -782422, + 9999, + -1145632, + 9999, + -5216, + 9999, + -9736, + 9999, + -14256, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..02d309ac44cb --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -402190, + 9999, + -419212, + 9999, + -5216, + 9999, + -752090, + 9999, + -782422, + 9999, + -9736, + 9999, + -1101990, + 9999, + -1145632, + 9999, + -14256, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..c321c1c9bdb9 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -104950, + 9999, + -195250, + 9999, + -285550, + 9999, + -191792, + 9999, + -356002, + 9999, + -520212, + 9999, + -3176, + 9999, + -5896, + 9999, + -8616, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..c33e897396f7 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_backward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -104950, + 9999, + -191792, + 9999, + -3176, + 9999, + -195250, + 9999, + -356002, + 9999, + -5896, + 9999, + -285550, + 9999, + -520212, + 9999, + -8616, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..c8675061290b --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -630, + 9999, + -1130, + 9999, + -1630, + 9999, + -14392, + 9999, + -25802, + 9999, + -37212, + 9999, + -114296, + 9999, + -202816, + 9999, + -291336, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..90b9ddbe6d28 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -630, + 9999, + -14392, + 9999, + -114296, + 9999, + -1130, + 9999, + -25802, + 9999, + -202816, + 9999, + -1630, + 9999, + -37212, + 9999, + -291336, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..56d484c42d2a --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -1390, + 9999, + -2490, + 9999, + -3590, + 9999, + -58132, + 9999, + -104142, + 9999, + -150152, + 9999, + -266416, + 9999, + -473736, + 9999, + -681056, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..1b8331ad6e2d --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_notrans_forward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -1390, + 9999, + -58132, + 9999, + -266416, + 9999, + -2490, + 9999, + -104142, + 9999, + -473736, + 9999, + -3590, + 9999, + -150152, + 9999, + -681056, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_col_major.json new file mode 100644 index 000000000000..8b44dc30c99b --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -402190, + 9999, + -752090, + 9999, + -1101990, + 9999, + -419212, + 9999, + -782422, + 9999, + -1145632, + 9999, + -5216, + 9999, + -9736, + 9999, + -14256, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_row_major.json new file mode 100644 index 000000000000..70ea09916767 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -402190, + 9999, + -419212, + 9999, + -5216, + 9999, + -752090, + 9999, + -782422, + 9999, + -9736, + 9999, + -1101990, + 9999, + -1145632, + 9999, + -14256, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_col_major.json new file mode 100644 index 000000000000..c155ea959950 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -104950, + 9999, + -195250, + 9999, + -285550, + 9999, + -191792, + 9999, + -356002, + 9999, + -520212, + 9999, + -3176, + 9999, + -5896, + 9999, + -8616, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_row_major.json new file mode 100644 index 000000000000..8a3f4cb65236 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_backward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -104950, + 9999, + -191792, + 9999, + -3176, + 9999, + -195250, + 9999, + -356002, + 9999, + -5896, + 9999, + -285550, + 9999, + -520212, + 9999, + -8616, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_col_major.json new file mode 100644 index 000000000000..32274969d557 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -630, + 9999, + -1130, + 9999, + -1630, + 9999, + -14392, + 9999, + -25802, + 9999, + -37212, + 9999, + -114296, + 9999, + -202816, + 9999, + -291336, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_row_major.json new file mode 100644 index 000000000000..c276f577ff48 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_col_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -630, + 9999, + -14392, + 9999, + -114296, + 9999, + -1130, + 9999, + -25802, + 9999, + -202816, + 9999, + -1630, + 9999, + -37212, + 9999, + -291336, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_col_major.json new file mode 100644 index 000000000000..043d6a1e432f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_col_major.json @@ -0,0 +1,211 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 2, + "strideV2": 6, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 20, + 9999, + 30, + 9999, + 40, + 9999, + 50, + 9999, + 60, + 9999, + 70, + 9999, + 80, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 2, + "strideT2": 6, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 2, + "strideC2": 6, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 21, + 9999, + 31, + 9999, + 12, + 9999, + 22, + 9999, + 32, + 9999, + 13, + 9999, + 23, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 2, + "strideWork2": 6, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -1390, + 9999, + -2490, + 9999, + -3590, + 9999, + -58132, + 9999, + -104142, + 9999, + -150152, + 9999, + -266416, + 9999, + -473736, + 9999, + -681056, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_row_major.json new file mode 100644 index 000000000000..5b5256e9c842 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/large_strides/right_trans_forward_row_row_major.json @@ -0,0 +1,211 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 6, + "strideV2": 2, + "offsetV": 0, + "LDV": 3, + "V": [ + 10, + 9999, + 40, + 9999, + 70, + 9999, + 20, + 9999, + 50, + 9999, + 80, + 9999, + 30, + 9999, + 60, + 9999, + 90, + 9999 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 6, + "strideT2": 2, + "offsetT": 0, + "LDT": 3, + "T": [ + 1, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 2, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 3, + 9999 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 6, + "strideC2": 2, + "offsetC": 0, + "LDC": 3, + "C": [ + 11, + 9999, + 12, + 9999, + 13, + 9999, + 21, + 9999, + 22, + 9999, + 23, + 9999, + 31, + 9999, + 32, + 9999, + 33, + 9999 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 6, + "strideWork2": 2, + "offsetWork": 0, + "work": [ + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999, + 0, + 9999 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -1390, + 9999, + -58132, + 9999, + -266416, + 9999, + -2490, + 9999, + -104142, + 9999, + -473736, + 9999, + -3590, + 9999, + -150152, + 9999, + -681056, + 9999 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json index 26b75259aea2..586096e4c70f 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json index f0b4ba7a71a5..ea8f36c4461f 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_backward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json index fc6bd532ae66..e0b460c34486 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json index 5fc78b1a9548..ed2232f0dfdf 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_notrans_forward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json index 7689376d80b7..0acc711d1d53 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json index 77af1ae28098..0ec74c592a7b 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_backward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json index 5a84dd226ef0..ecc254a411aa 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json index a1c7aecb6dc9..67f1bbe1f432 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/left_trans_forward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..d623c035485c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -627870, + -668983, + -8316, + -592880, + -632662, + -7864, + -557890, + -596341, + -7412 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..76caa8fc0e09 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -7412, + -7864, + -8316, + -596341, + -632662, + -668983, + -557890, + -592880, + -627870 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..d94826e3a66d --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -173590, + -325083, + -5376, + -164560, + -308662, + -5104, + -155530, + -292241, + -4832 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..104345db5f3f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -4832, + -5104, + -5376, + -292241, + -308662, + -325083, + -155530, + -164560, + -173590 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..ab28f843d8bf --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -1450, + -33243, + -284316, + -1400, + -32102, + -275464, + -1350, + -30961, + -266612 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..6f660a8f26b9 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -266612, + -275464, + -284316, + -30961, + -32102, + -33243, + -1350, + -1400, + -1450 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..90abd9e87db4 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -3230, + -135023, + -653156, + -3120, + -130422, + -632424, + -3010, + -125821, + -611692 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..feb5009412f4 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_notrans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -611692, + -632424, + -653156, + -125821, + -130422, + -135023, + -3010, + -3120, + -3230 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_col_major.json new file mode 100644 index 000000000000..9ae4e6eddb68 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -627870, + -668983, + -8316, + -592880, + -632662, + -7864, + -557890, + -596341, + -7412 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_row_major.json new file mode 100644 index 000000000000..4881b5115a5a --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -7412, + -7864, + -8316, + -596341, + -632662, + -668983, + -557890, + -592880, + -627870 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_col_major.json new file mode 100644 index 000000000000..2e8750c613b0 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -173590, + -325083, + -5376, + -164560, + -308662, + -5104, + -155530, + -292241, + -4832 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_row_major.json new file mode 100644 index 000000000000..e46e1c56e241 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -4832, + -5104, + -5376, + -292241, + -308662, + -325083, + -155530, + -164560, + -173590 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_col_major.json new file mode 100644 index 000000000000..40415e52f991 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -1450, + -33243, + -284316, + -1400, + -32102, + -275464, + -1350, + -30961, + -266612 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_row_major.json new file mode 100644 index 000000000000..0b51efab5011 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -266612, + -275464, + -284316, + -30961, + -32102, + -33243, + -1350, + -1400, + -1450 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_col_major.json new file mode 100644 index 000000000000..a98a3c52f514 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -3230, + -135023, + -653156, + -3120, + -130422, + -632424, + -3010, + -125821, + -611692 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_row_major.json new file mode 100644 index 000000000000..728c3dbd0f76 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/left_trans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -611692, + -632424, + -653156, + -125821, + -130422, + -135023, + -3010, + -3120, + -3230 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..1da1c08cdc6f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -5216, + -9736, + -14256, + -419212, + -782422, + -1145632, + -402190, + -752090, + -1101990 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..7625556eac4c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -1101990, + -1145632, + -14256, + -752090, + -782422, + -9736, + -402190, + -419212, + -5216 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..4bae7b201888 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -3176, + -5896, + -8616, + -191792, + -356002, + -520212, + -104950, + -195250, + -285550 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..26954b45bf8f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -285550, + -520212, + -8616, + -195250, + -356002, + -5896, + -104950, + -191792, + -3176 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..b9eb24e0d18e --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -114296, + -202816, + -291336, + -14392, + -25802, + -37212, + -630, + -1130, + -1630 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..fc141396a741 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -1630, + -37212, + -291336, + -1130, + -25802, + -202816, + -630, + -14392, + -114296 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..0137e47bd633 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -266416, + -473736, + -681056, + -58132, + -104142, + -150152, + -1390, + -2490, + -3590 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..c6cd29acf521 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_notrans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -3590, + -150152, + -681056, + -2490, + -104142, + -473736, + -1390, + -58132, + -266416 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_col_major.json new file mode 100644 index 000000000000..0fb6532080dd --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -5216, + -9736, + -14256, + -419212, + -782422, + -1145632, + -402190, + -752090, + -1101990 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_row_major.json new file mode 100644 index 000000000000..1e1f4426ad5f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -1101990, + -1145632, + -14256, + -752090, + -782422, + -9736, + -402190, + -419212, + -5216 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_col_major.json new file mode 100644 index 000000000000..57ad39d212c4 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -3176, + -5896, + -8616, + -191792, + -356002, + -520212, + -104950, + -195250, + -285550 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_row_major.json new file mode 100644 index 000000000000..6bcd6aea6aaa --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -285550, + -520212, + -8616, + -195250, + -356002, + -5896, + -104950, + -191792, + -3176 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_col_major.json new file mode 100644 index 000000000000..a6b4b86c3c93 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -114296, + -202816, + -291336, + -14392, + -25802, + -37212, + -630, + -1130, + -1630 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_row_major.json new file mode 100644 index 000000000000..916f25683ac9 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -1630, + -37212, + -291336, + -1130, + -25802, + -202816, + -630, + -14392, + -114296 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_col_major.json new file mode 100644 index 000000000000..808f92f5e144 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": -3, + "offsetV": 6, + "LDV": 3, + "V": [ + 70, + 80, + 90, + 40, + 50, + 60, + 10, + 20, + 30 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": -3, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": -3, + "offsetC": 6, + "LDC": 3, + "C": [ + 13, + 23, + 33, + 12, + 22, + 32, + 11, + 21, + 31 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -266416, + -473736, + -681056, + -58132, + -104142, + -150152, + -1390, + -2490, + -3590 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_row_major.json new file mode 100644 index 000000000000..16d94ff8cfb8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/mixed_strides/right_trans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": 1, + "offsetV": 6, + "LDV": 3, + "V": [ + 30, + 60, + 90, + 20, + 50, + 80, + 10, + 40, + 70 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": 1, + "offsetT": 6, + "LDT": 3, + "T": [ + 0, + 0, + 3, + 0, + 2, + 0, + 1, + 0, + 0 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": 1, + "offsetC": 6, + "LDC": 3, + "C": [ + 31, + 32, + 33, + 21, + 22, + 23, + 11, + 12, + 13 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 0, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -3590, + -150152, + -681056, + -2490, + -104142, + -473736, + -1390, + -58132, + -266416 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..7312ffeb332f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -8316, + -668983, + -627870, + -7864, + -632662, + -592880, + -7412, + -596341, + -557890 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..613b8a0a2cd3 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -8316, + -7864, + -7412, + -668983, + -632662, + -596341, + -627870, + -592880, + -557890 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..419960d92fa5 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -5376, + -325083, + -173590, + -5104, + -308662, + -164560, + -4832, + -292241, + -155530 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..b4d8e6f472d7 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -5376, + -5104, + -4832, + -325083, + -308662, + -292241, + -173590, + -164560, + -155530 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..faadc5295ddb --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -284316, + -33243, + -1450, + -275464, + -32102, + -1400, + -266612, + -30961, + -1350 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..562cceb50e1c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -284316, + -275464, + -266612, + -33243, + -32102, + -30961, + -1450, + -1400, + -1350 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..b242444167f4 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -653156, + -135023, + -3230, + -632424, + -130422, + -3120, + -611692, + -125821, + -3010 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..39269b335486 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_notrans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -653156, + -632424, + -611692, + -135023, + -130422, + -125821, + -3230, + -3120, + -3010 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_col_major.json new file mode 100644 index 000000000000..3d6bd21e13c1 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -8316, + -668983, + -627870, + -7864, + -632662, + -592880, + -7412, + -596341, + -557890 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_row_major.json new file mode 100644 index 000000000000..91d496f85fc3 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + -8316, + -7864, + -7412, + -668983, + -632662, + -596341, + -627870, + -592880, + -557890 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_col_major.json new file mode 100644 index 000000000000..bb88d005bbb0 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -5376, + -325083, + -173590, + -5104, + -308662, + -164560, + -4832, + -292241, + -155530 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_row_major.json new file mode 100644 index 000000000000..c49c74716d76 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + -5376, + -5104, + -4832, + -325083, + -308662, + -292241, + -173590, + -164560, + -155530 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_col_major.json new file mode 100644 index 000000000000..fb5d0095b543 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -284316, + -33243, + -1450, + -275464, + -32102, + -1400, + -266612, + -30961, + -1350 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_row_major.json new file mode 100644 index 000000000000..b092c7d0c176 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + -284316, + -275464, + -266612, + -33243, + -32102, + -30961, + -1450, + -1400, + -1350 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_col_major.json new file mode 100644 index 000000000000..f4e8f502728e --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -653156, + -135023, + -3230, + -632424, + -130422, + -3120, + -611692, + -125821, + -3010 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_row_major.json new file mode 100644 index 000000000000..2906b3270fec --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/left_trans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + -653156, + -632424, + -611692, + -135023, + -130422, + -125821, + -3230, + -3120, + -3010 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..0c8227b9f47f --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -14256, + -9736, + -5216, + -1145632, + -782422, + -419212, + -1101990, + -752090, + -402190 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..5fc19cadad39 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -14256, + -1145632, + -1101990, + -9736, + -782422, + -752090, + -5216, + -419212, + -402190 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..806d6336ea95 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -8616, + -5896, + -3176, + -520212, + -356002, + -191792, + -285550, + -195250, + -104950 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..cd216632db6c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -8616, + -520212, + -285550, + -5896, + -356002, + -195250, + -3176, + -191792, + -104950 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..2b6131c97c92 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -291336, + -202816, + -114296, + -37212, + -25802, + -14392, + -1630, + -1130, + -630 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..064d306a6034 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -291336, + -37212, + -1630, + -202816, + -25802, + -1130, + -114296, + -14392, + -630 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..0f1a69828866 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -681056, + -473736, + -266416, + -150152, + -104142, + -58132, + -3590, + -2490, + -1390 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..81dfcb8348c1 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_notrans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -681056, + -150152, + -3590, + -473736, + -104142, + -2490, + -266416, + -58132, + -1390 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_col_major.json new file mode 100644 index 000000000000..a3d85ecd111a --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -14256, + -9736, + -5216, + -1145632, + -782422, + -419212, + -1101990, + -752090, + -402190 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_row_major.json new file mode 100644 index 000000000000..d8d3d351f5b0 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + -14256, + -1145632, + -1101990, + -9736, + -782422, + -752090, + -5216, + -419212, + -402190 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_col_major.json new file mode 100644 index 000000000000..fc92824a9698 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -8616, + -5896, + -3176, + -520212, + -356002, + -191792, + -285550, + -195250, + -104950 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_row_major.json new file mode 100644 index 000000000000..716723e98d98 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_backward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + -8616, + -520212, + -285550, + -5896, + -356002, + -195250, + -3176, + -191792, + -104950 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_col_major.json new file mode 100644 index 000000000000..cdd241442808 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -291336, + -202816, + -114296, + -37212, + -25802, + -14392, + -1630, + -1130, + -630 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_row_major.json new file mode 100644 index 000000000000..1fde0a9badc7 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_col_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + -291336, + -37212, + -1630, + -202816, + -25802, + -1130, + -114296, + -14392, + -630 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_col_major.json new file mode 100644 index 000000000000..161c70a26651 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_col_major.json @@ -0,0 +1,166 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -1, + "strideV2": -3, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 80, + 70, + 60, + 50, + 40, + 30, + 20, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -1, + "strideT2": -3, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -1, + "strideC2": -3, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 23, + 13, + 32, + 22, + 12, + 31, + 21, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -1, + "strideWork2": -3, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -681056, + -473736, + -266416, + -150152, + -104142, + -58132, + -3590, + -2490, + -1390 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_row_major.json new file mode 100644 index 000000000000..f053ea9b4d64 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/negative_strides/right_trans_forward_row_row_major.json @@ -0,0 +1,166 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": -3, + "strideV2": -1, + "offsetV": 8, + "LDV": 3, + "V": [ + 90, + 60, + 30, + 80, + 50, + 20, + 70, + 40, + 10 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": -3, + "strideT2": -1, + "offsetT": 8, + "LDT": 3, + "T": [ + 3, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": -3, + "strideC2": -1, + "offsetC": 8, + "LDC": 3, + "C": [ + 33, + 32, + 31, + 23, + 22, + 21, + 13, + 12, + 11 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": -3, + "strideWork2": -1, + "offsetWork": 8, + "work": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + -681056, + -150152, + -3590, + -473736, + -104142, + -2490, + -266416, + -58132, + -1390 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..037018ce6ddb --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + 9999, + -557890, + -596341, + -7412, + -592880, + -632662, + -7864, + -627870, + -668983, + -8316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..61a45e9baefe --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + 9999, + -557890, + -592880, + -627870, + -596341, + -632662, + -668983, + -7412, + -7864, + -8316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..c4771e949a83 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + 9999, + -155530, + -292241, + -4832, + -164560, + -308662, + -5104, + -173590, + -325083, + -5376 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..8ee21c285fb1 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_backward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + 9999, + -155530, + -164560, + -173590, + -292241, + -308662, + -325083, + -4832, + -5104, + -5376 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..bbe31af04fcb --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + 9999, + -1350, + -30961, + -266612, + -1400, + -32102, + -275464, + -1450, + -33243, + -284316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..3ec56b6a0db3 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + 9999, + -1350, + -1400, + -1450, + -30961, + -32102, + -33243, + -266612, + -275464, + -284316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..72a705457a69 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + 9999, + -3010, + -125821, + -611692, + -3120, + -130422, + -632424, + -3230, + -135023, + -653156 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..081eb84e5d64 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_notrans_forward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + 9999, + -3010, + -3120, + -3230, + -125821, + -130422, + -135023, + -611692, + -632424, + -653156 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_col_major.json new file mode 100644 index 000000000000..4782cbd00650 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + 9999, + -557890, + -596341, + -7412, + -592880, + -632662, + -7864, + -627870, + -668983, + -8316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_row_major.json new file mode 100644 index 000000000000..50fc5f732f2b --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -557890, + -592880, + -627870 + ], + [ + -596341, + -632662, + -668983 + ], + [ + -7412, + -7864, + -8316 + ] + ], + "C_out": [ + 9999, + -557890, + -592880, + -627870, + -596341, + -632662, + -668983, + -7412, + -7864, + -8316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_col_major.json new file mode 100644 index 000000000000..973c577c533c --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + 9999, + -155530, + -292241, + -4832, + -164560, + -308662, + -5104, + -173590, + -325083, + -5376 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_row_major.json new file mode 100644 index 000000000000..b6207948a12a --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_backward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -155530, + -164560, + -173590 + ], + [ + -292241, + -308662, + -325083 + ], + [ + -4832, + -5104, + -5376 + ] + ], + "C_out": [ + 9999, + -155530, + -164560, + -173590, + -292241, + -308662, + -325083, + -4832, + -5104, + -5376 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_col_major.json new file mode 100644 index 000000000000..d3aa122274c2 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + 9999, + -1350, + -30961, + -266612, + -1400, + -32102, + -275464, + -1450, + -33243, + -284316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_row_major.json new file mode 100644 index 000000000000..c1ec70064047 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1350, + -1400, + -1450 + ], + [ + -30961, + -32102, + -33243 + ], + [ + -266612, + -275464, + -284316 + ] + ], + "C_out": [ + 9999, + -1350, + -1400, + -1450, + -30961, + -32102, + -33243, + -266612, + -275464, + -284316 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_col_major.json new file mode 100644 index 000000000000..61d3c8f71994 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + 9999, + -3010, + -125821, + -611692, + -3120, + -130422, + -632424, + -3230, + -135023, + -653156 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_row_major.json new file mode 100644 index 000000000000..244eb931bdea --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/left_trans_forward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "left", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -3010, + -3120, + -3230 + ], + [ + -125821, + -130422, + -135023 + ], + [ + -611692, + -632424, + -653156 + ] + ], + "C_out": [ + 9999, + -3010, + -3120, + -3230, + -125821, + -130422, + -135023, + -611692, + -632424, + -653156 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_col_major.json new file mode 100644 index 000000000000..11c74763d913 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + 9999, + -402190, + -752090, + -1101990, + -419212, + -782422, + -1145632, + -5216, + -9736, + -14256 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_row_major.json new file mode 100644 index 000000000000..ca237bbbaf22 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + 9999, + -402190, + -419212, + -5216, + -752090, + -782422, + -9736, + -1101990, + -1145632, + -14256 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_col_major.json new file mode 100644 index 000000000000..3ab3a195c66b --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + 9999, + -104950, + -195250, + -285550, + -191792, + -356002, + -520212, + -3176, + -5896, + -8616 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_row_major.json new file mode 100644 index 000000000000..bd56f12dbae8 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_backward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + 9999, + -104950, + -191792, + -3176, + -195250, + -356002, + -5896, + -285550, + -520212, + -8616 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_col_major.json new file mode 100644 index 000000000000..b9668361ed3b --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + 9999, + -630, + -1130, + -1630, + -14392, + -25802, + -37212, + -114296, + -202816, + -291336 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_row_major.json new file mode 100644 index 000000000000..ddc1a4391f21 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + 9999, + -630, + -14392, + -114296, + -1130, + -25802, + -202816, + -1630, + -37212, + -291336 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_col_major.json new file mode 100644 index 000000000000..e9dbfed8c967 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + 9999, + -1390, + -2490, + -3590, + -58132, + -104142, + -150152, + -266416, + -473736, + -681056 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_row_major.json new file mode 100644 index 000000000000..b6c443cbf622 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_notrans_forward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "no-transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + 9999, + -1390, + -58132, + -266416, + -2490, + -104142, + -473736, + -3590, + -150152, + -681056 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_col_major.json new file mode 100644 index 000000000000..f316ec4faa07 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + 9999, + -402190, + -752090, + -1101990, + -419212, + -782422, + -1145632, + -5216, + -9736, + -14256 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_row_major.json new file mode 100644 index 000000000000..845d85dee640 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -402190, + -419212, + -5216 + ], + [ + -752090, + -782422, + -9736 + ], + [ + -1101990, + -1145632, + -14256 + ] + ], + "C_out": [ + 9999, + -402190, + -419212, + -5216, + -752090, + -782422, + -9736, + -1101990, + -1145632, + -14256 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_col_major.json new file mode 100644 index 000000000000..7cb3a9a2ff18 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + 9999, + -104950, + -195250, + -285550, + -191792, + -356002, + -520212, + -3176, + -5896, + -8616 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_row_major.json new file mode 100644 index 000000000000..25a1dcb4137a --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_backward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "backward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -104950, + -191792, + -3176 + ], + [ + -195250, + -356002, + -5896 + ], + [ + -285550, + -520212, + -8616 + ] + ], + "C_out": [ + 9999, + -104950, + -191792, + -3176, + -195250, + -356002, + -5896, + -285550, + -520212, + -8616 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_col_major.json new file mode 100644 index 000000000000..a6756d703a20 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + 9999, + -630, + -1130, + -1630, + -14392, + -25802, + -37212, + -114296, + -202816, + -291336 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_row_major.json new file mode 100644 index 000000000000..366a529331cf --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_col_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "columns", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -630, + -14392, + -114296 + ], + [ + -1130, + -25802, + -202816 + ], + [ + -1630, + -37212, + -291336 + ] + ], + "C_out": [ + 9999, + -630, + -14392, + -114296, + -1130, + -25802, + -202816, + -1630, + -37212, + -291336 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_col_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_col_major.json new file mode 100644 index 000000000000..569b3a68b919 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_col_major.json @@ -0,0 +1,171 @@ +{ + "order": "column-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 1, + "strideV2": 3, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 1, + "strideT2": 3, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 1, + "strideC2": 3, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 21, + 31, + 12, + 22, + 32, + 13, + 23, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 1, + "strideWork2": 3, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + 9999, + -1390, + -2490, + -3590, + -58132, + -104142, + -150152, + -266416, + -473736, + -681056 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_row_major.json new file mode 100644 index 000000000000..4a5b49f950a3 --- /dev/null +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/offsets/right_trans_forward_row_row_major.json @@ -0,0 +1,171 @@ +{ + "order": "row-major", + "side": "right", + "trans": "transpose", + "direct": "forward", + "storev": "rows", + "M": 3, + "N": 3, + "K": 3, + "V_mat": [ + [ + 10, + 40, + 70 + ], + [ + 20, + 50, + 80 + ], + [ + 30, + 60, + 90 + ] + ], + "strideV1": 3, + "strideV2": 1, + "offsetV": 1, + "LDV": 3, + "V": [ + 9999, + 10, + 40, + 70, + 20, + 50, + 80, + 30, + 60, + 90 + ], + "T_mat": [ + [ + 1, + 0, + 0 + ], + [ + 0, + 2, + 0 + ], + [ + 0, + 0, + 3 + ] + ], + "strideT1": 3, + "strideT2": 1, + "offsetT": 1, + "LDT": 3, + "T": [ + 9999, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 3 + ], + "C_mat": [ + [ + 11, + 12, + 13 + ], + [ + 21, + 22, + 23 + ], + [ + 31, + 32, + 33 + ] + ], + "strideC1": 3, + "strideC2": 1, + "offsetC": 1, + "LDC": 3, + "C": [ + 9999, + 11, + 12, + 13, + 21, + 22, + 23, + 31, + 32, + 33 + ], + "work_mat": [ + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "strideWork1": 3, + "strideWork2": 1, + "offsetWork": 1, + "work": [ + 9999, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "LDWORK": 3, + "C_out_mat": [ + [ + -1390, + -58132, + -266416 + ], + [ + -2490, + -104142, + -473736 + ], + [ + -3590, + -150152, + -681056 + ] + ], + "C_out": [ + 9999, + -1390, + -58132, + -266416, + -2490, + -104142, + -473736, + -3590, + -150152, + -681056 + ] +} diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json index a17990a95049..eb9bb449866a 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json index 3af1f75bb5d9..2938caccfad4 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_backward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json index fd2d094f2125..57ce7b94c865 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json index eb3a994301d9..8626b9b0cec6 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_notrans_forward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json index 75b46140a2d3..52784ad3aa88 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json index b1cadd2e751e..d1c8cfff128d 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_backward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json index 2dd8967fc790..3a853c3d811f 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_col_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json index 5df869dc97b8..1a0a6a5cdf7a 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/fixtures/right_trans_forward_row_row_major.json @@ -24,8 +24,8 @@ 90.0 ] ], - "strideV1": 1, - "strideV2": 3, + "strideV1": 3, + "strideV2": 1, "offsetV": 0, "LDV": 3, "V": [ @@ -56,8 +56,8 @@ 3.0 ] ], - "strideT1": 1, - "strideT2": 3, + "strideT1": 3, + "strideT2": 1, "offsetT": 0, "LDT": 3, "T": [ @@ -88,8 +88,8 @@ 33.0 ] ], - "strideC1": 1, - "strideC2": 3, + "strideC1": 3, + "strideC2": 1, "offsetC": 0, "LDC": 3, "C": [ @@ -120,8 +120,8 @@ 0.0 ] ], - "strideWork1": 1, - "strideWork2": 3, + "strideWork1": 3, + "strideWork2": 1, "offsetWork": 0, "work": [ 0.0, diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js index 16e6c6aa5edf..1cb2255a3edd 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/test/test.ndarray.js @@ -16,6 +16,8 @@ * limitations under the License. */ +/* eslint-disable max-len, id-length, max-lines */ + 'use strict'; // MODULES // @@ -25,6 +27,177 @@ var Float64Array = require( '@stdlib/array/float64' ); var dlarfb = require( './../lib/ndarray.js' ); +// FIXTURES // + +var LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/left_trans_forward_col_row_major.json' ); +var LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/left_trans_forward_col_col_major.json' ); +var LEFT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/left_trans_forward_row_row_major.json' ); +var LEFT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/left_trans_forward_row_col_major.json' ); +var LEFT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/left_trans_backward_col_row_major.json' ); +var LEFT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/left_trans_backward_col_col_major.json' ); +var LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/left_trans_backward_row_row_major.json' ); +var LEFT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/left_trans_backward_row_col_major.json' ); + +var LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/left_notrans_forward_col_row_major.json' ); +var LEFT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/left_notrans_forward_col_col_major.json' ); +var LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/left_notrans_forward_row_row_major.json' ); +var LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/left_notrans_forward_row_col_major.json' ); +var LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/left_notrans_backward_col_row_major.json' ); +var LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/left_notrans_backward_col_col_major.json' ); +var LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/left_notrans_backward_row_row_major.json' ); +var LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/left_notrans_backward_row_col_major.json' ); + +var RIGHT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/right_trans_forward_col_row_major.json' ); +var RIGHT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/right_trans_forward_col_col_major.json' ); +var RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/right_trans_forward_row_row_major.json' ); +var RIGHT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/right_trans_forward_row_col_major.json' ); +var RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/right_trans_backward_col_row_major.json' ); +var RIGHT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/right_trans_backward_col_col_major.json' ); +var RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/right_trans_backward_row_row_major.json' ); +var RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/right_trans_backward_row_col_major.json' ); + +var RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/right_notrans_forward_col_row_major.json' ); +var RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/right_notrans_forward_col_col_major.json' ); +var RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/right_notrans_forward_row_row_major.json' ); +var RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/right_notrans_forward_row_col_major.json' ); +var RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/right_notrans_backward_col_row_major.json' ); +var RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/right_notrans_backward_col_col_major.json' ); +var RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/right_notrans_backward_row_row_major.json' ); +var RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/right_notrans_backward_row_col_major.json' ); + +var OFFSETS_LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/offsets/left_trans_forward_col_row_major.json' ); +var OFFSETS_LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/offsets/left_trans_forward_col_col_major.json' ); +var OFFSETS_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/left_trans_forward_row_row_major.json' ); +var OFFSETS_LEFT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/offsets/left_trans_forward_row_col_major.json' ); +var OFFSETS_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/offsets/left_trans_backward_col_row_major.json' ); +var OFFSETS_LEFT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/offsets/left_trans_backward_col_col_major.json' ); +var OFFSETS_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/left_trans_backward_row_row_major.json' ); +var OFFSETS_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/offsets/left_trans_backward_row_col_major.json' ); +var OFFSETS_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/offsets/left_notrans_forward_col_row_major.json' ); +var OFFSETS_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/offsets/left_notrans_forward_col_col_major.json' ); +var OFFSETS_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/left_notrans_forward_row_row_major.json' ); +var OFFSETS_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/offsets/left_notrans_forward_row_col_major.json' ); +var OFFSETS_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/offsets/left_notrans_backward_col_row_major.json' ); +var OFFSETS_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/offsets/left_notrans_backward_col_col_major.json' ); +var OFFSETS_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/left_notrans_backward_row_row_major.json' ); +var OFFSETS_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/offsets/left_notrans_backward_row_col_major.json' ); +var OFFSETS_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/offsets/right_trans_forward_col_row_major.json' ); +var OFFSETS_RIGHT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/offsets/right_trans_forward_col_col_major.json' ); +var OFFSETS_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/right_trans_forward_row_row_major.json' ); +var OFFSETS_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/offsets/right_trans_forward_row_col_major.json' ); +var OFFSETS_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/offsets/right_trans_backward_col_row_major.json' ); +var OFFSETS_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/offsets/right_trans_backward_col_col_major.json' ); +var OFFSETS_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/right_trans_backward_row_row_major.json' ); +var OFFSETS_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/offsets/right_trans_backward_row_col_major.json' ); +var OFFSETS_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/offsets/right_notrans_forward_col_row_major.json' ); +var OFFSETS_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/offsets/right_notrans_forward_col_col_major.json' ); +var OFFSETS_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/right_notrans_forward_row_row_major.json' ); +var OFFSETS_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/offsets/right_notrans_forward_row_col_major.json' ); +var OFFSETS_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/offsets/right_notrans_backward_col_row_major.json' ); +var OFFSETS_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/offsets/right_notrans_backward_col_col_major.json' ); +var OFFSETS_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/offsets/right_notrans_backward_row_row_major.json' ); +var OFFSETS_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/offsets/right_notrans_backward_row_col_major.json' ); + +var LARGE_STRIDES_LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/left_trans_forward_col_row_major.json' ); +var LARGE_STRIDES_LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/large_strides/left_trans_forward_col_col_major.json' ); +var LARGE_STRIDES_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/left_trans_forward_row_row_major.json' ); +var LARGE_STRIDES_LEFT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/left_trans_forward_row_col_major.json' ); +var LARGE_STRIDES_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/left_trans_backward_col_row_major.json' ); +var LARGE_STRIDES_LEFT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/large_strides/left_trans_backward_col_col_major.json' ); +var LARGE_STRIDES_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/left_trans_backward_row_row_major.json' ); +var LARGE_STRIDES_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/left_trans_backward_row_col_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/left_notrans_forward_col_row_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/large_strides/left_notrans_forward_col_col_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/left_notrans_forward_row_row_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/left_notrans_forward_row_col_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/left_notrans_backward_col_row_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/large_strides/left_notrans_backward_col_col_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/left_notrans_backward_row_row_major.json' ); +var LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/left_notrans_backward_row_col_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/right_trans_forward_col_row_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/large_strides/right_trans_forward_col_col_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/right_trans_forward_row_row_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/right_trans_forward_row_col_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/right_trans_backward_col_row_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/large_strides/right_trans_backward_col_col_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/right_trans_backward_row_row_major.json' ); +var LARGE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/right_trans_backward_row_col_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/right_notrans_forward_col_row_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/large_strides/right_notrans_forward_col_col_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/right_notrans_forward_row_row_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/right_notrans_forward_row_col_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/large_strides/right_notrans_backward_col_row_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/large_strides/right_notrans_backward_col_col_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/large_strides/right_notrans_backward_row_row_major.json' ); +var LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/large_strides/right_notrans_backward_row_col_major.json' ); + +var MIXED_STRIDES_LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/left_trans_forward_col_row_major.json' ); +var MIXED_STRIDES_LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/left_trans_forward_col_col_major.json' ); +var MIXED_STRIDES_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/left_trans_forward_row_row_major.json' ); +var MIXED_STRIDES_LEFT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/left_trans_forward_row_col_major.json' ); +var MIXED_STRIDES_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/left_trans_backward_col_row_major.json' ); +var MIXED_STRIDES_LEFT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/left_trans_backward_col_col_major.json' ); +var MIXED_STRIDES_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/left_trans_backward_row_row_major.json' ); +var MIXED_STRIDES_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/left_trans_backward_row_col_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/left_notrans_forward_col_row_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/left_notrans_forward_col_col_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/left_notrans_forward_row_row_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/left_notrans_forward_row_col_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/left_notrans_backward_col_row_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/left_notrans_backward_col_col_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/left_notrans_backward_row_row_major.json' ); +var MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/left_notrans_backward_row_col_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/right_trans_forward_col_row_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/right_trans_forward_col_col_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/right_trans_forward_row_row_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/right_trans_forward_row_col_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/right_trans_backward_col_row_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/right_trans_backward_col_col_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/right_trans_backward_row_row_major.json' ); +var MIXED_STRIDES_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/right_trans_backward_row_col_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/right_notrans_forward_col_row_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/right_notrans_forward_col_col_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/right_notrans_forward_row_row_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/right_notrans_forward_row_col_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/mixed_strides/right_notrans_backward_col_row_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/mixed_strides/right_notrans_backward_col_col_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/mixed_strides/right_notrans_backward_row_row_major.json' ); +var MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/mixed_strides/right_notrans_backward_row_col_major.json' ); + +var NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/left_trans_forward_col_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/left_trans_forward_col_col_major.json' ); +var NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/left_trans_forward_row_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/left_trans_forward_row_col_major.json' ); +var NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/left_trans_backward_col_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/left_trans_backward_col_col_major.json' ); +var NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/left_trans_backward_row_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/left_trans_backward_row_col_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/left_notrans_forward_col_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/left_notrans_forward_col_col_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/left_notrans_forward_row_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/left_notrans_forward_row_col_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/left_notrans_backward_col_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/left_notrans_backward_col_col_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/left_notrans_backward_row_row_major.json' ); +var NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/left_notrans_backward_row_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/right_trans_forward_col_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/right_trans_forward_col_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/right_trans_forward_row_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/right_trans_forward_row_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/right_trans_backward_col_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/right_trans_backward_col_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/right_trans_backward_row_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/right_trans_backward_row_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/right_notrans_forward_col_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/right_notrans_forward_col_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/right_notrans_forward_row_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/right_notrans_forward_row_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR = require( './fixtures/negative_strides/right_notrans_backward_col_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR = require( './fixtures/negative_strides/right_notrans_backward_col_col_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR = require( './fixtures/negative_strides/right_notrans_backward_row_row_major.json' ); +var NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR = require( './fixtures/negative_strides/right_notrans_backward_row_col_major.json' ); + + // TESTS // tape( 'main export is a function', function test( t ) { @@ -33,7 +206,7 @@ tape( 'main export is a function', function test( t ) { t.end(); }); -tape( 'the function throws an error if provided an invalid `side`', function test( t ) { +tape( 'the function throws an error if provided an invalid `storev`', function test( t ) { var values; var V; var T; @@ -52,79 +225,3710 @@ tape( 'the function throws an error if provided an invalid `side`', function tes function badValue( value ) { return function badValue() { - dlarfb( value, 'transpose', 'forward', 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); + dlarfb( 'left', 'transpose', 'forward', value, 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); }; } }); -tape( 'the function throws an error if provided an invalid `trans`', function test( t ) { - var values; +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; var V; var T; var C; - var i; - V = new Float64Array( 9 ); - T = new Float64Array( 9 ); - C = new Float64Array( 9 ); + data = LEFT_TRANS_FORWARD_COL_ROW_MAJOR; - values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; - for ( i = 0; i < values.length; i++ ) { - t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); - } + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); t.end(); +}); - function badValue( value ) { - return function badValue() { - dlarfb( 'left', value, 'forward', 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); - }; - } +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); }); -tape( 'the function throws an error if provided an invalid `direct`', function test( t ) { - var values; +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; var V; var T; var C; - var i; - V = new Float64Array( 9 ); - T = new Float64Array( 9 ); - C = new Float64Array( 9 ); + data = LEFT_TRANS_FORWARD_ROW_ROW_MAJOR; - values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; - for ( i = 0; i < values.length; i++ ) { - t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); - } + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); t.end(); +}); - function badValue( value ) { - return function badValue() { - dlarfb( 'left', 'transpose', value, 'columns', 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); - }; - } +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); }); -tape( 'the function throws an error if provided an invalid `storev`', function test( t ) { - var values; +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; var V; var T; var C; - var i; - V = new Float64Array( 9 ); - T = new Float64Array( 9 ); - C = new Float64Array( 9 ); + data = LEFT_TRANS_BACKWARD_COL_ROW_MAJOR; - values = [ 'foo', 'beep', 'boop', 5, null, void 0, [], {} ]; - for ( i = 0; i < values.length; i++ ) { - t.throws( badValue( values[ i ] ), TypeError, 'throws an error when provided ' + values[ i ] ); - } + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); t.end(); +}); - function badValue( value ) { - return function badValue() { - dlarfb( 'left', 'transpose', 'forward', value, 3, 3, 3, V, 3, 1, 0, T, 3, 1, 0, C, 3, 1, 0, new Float64Array( 9 ), 3, 1, 0 ); - }; - } +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (row-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (column-major)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (row-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (column-major) (offsets)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = OFFSETS_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (row-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (column-major) (large strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = LARGE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = forward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, transpose, direct = backward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = forward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (row-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (column-major) (negative strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = NEGATIVE_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = left, no-transpose, direct = backward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_LEFT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = forward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, transpose, direct = backward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_TRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = forward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_FORWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = columns, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_COL_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (row-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_ROW_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns expected values for side = right, no-transpose, direct = backward, store = rows, (column-major) (mixed strides)', function test( t ) { + var expected; + var work; + var data; + var out; + var V; + var T; + var C; + + data = MIXED_STRIDES_RIGHT_NOTRANS_BACKWARD_ROW_COL_MAJOR; + + expected = new Float64Array( data.C_out ); + V = new Float64Array( data.V ); + T = new Float64Array( data.T ); + C = new Float64Array( data.C ); + work = new Float64Array( data.work ); + + out = dlarfb( data.side, data.trans, data.direct, data.storev, data.M, data.N, data.K, V, data.strideV1, data.strideV2, data.offsetV, T, data.strideT1, data.strideT2, data.offsetT, C, data.strideC1, data.strideC2, data.offsetC, work, data.strideWork1, data.strideWork2, data.offsetWork ); + t.strictEqual( out, C, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + t.end(); }); From 59efc06325a01aeb5cc4595cb68b20cded3b9912 Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Mon, 11 Aug 2025 04:58:24 +0000 Subject: [PATCH 5/5] chore: update copyright years --- lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js index b8b433f02e00..9950be491731 100644 --- a/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js +++ b/lib/node_modules/@stdlib/lapack/base/dlarfb/lib/base.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2024 The Stdlib Authors. +* Copyright (c) 2025 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.