Skip to content

Commit ecf4a87

Browse files
committed
test: more negative stride 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 ---
1 parent 91366cd commit ecf4a87

File tree

1 file changed

+202
-0
lines changed

1 file changed

+202
-0
lines changed

lib/node_modules/@stdlib/lapack/base/dgebal/test/test.ndarray.js

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -901,3 +901,205 @@ tape( 'the function returns expected values for job = scale (column-major) (nega
901901
t.deepEqual( scale, expectedScale, 'returns expected value' );
902902
t.end();
903903
});
904+
905+
tape( 'the function returns expected values for job = both (row-major) (negative strides)', function test( t ) {
906+
var expectedScale;
907+
var expectedOut;
908+
var expectedA;
909+
var scale;
910+
var info;
911+
var out;
912+
var A;
913+
914+
A = new Float64Array([
915+
4.0, 0.0, 100.0,
916+
0.0, 5.0, 0.0,
917+
2.0, 0.0, 1.0
918+
]);
919+
out = new Float64Array( 2 );
920+
scale = new Float64Array( 3 );
921+
922+
expectedOut = new Float64Array( [ 1.0, 0.0 ] );
923+
expectedScale = new Float64Array( [ 1.0, 1.0, 0.125 ] );
924+
925+
expectedA = new Float64Array([
926+
5.0, 0.0, 0.0,
927+
0.0, 4.0, 12.5,
928+
0.0, 16.0, 1.0
929+
]);
930+
931+
info = dgebal( 'both', 3, A, -3, -1, 8, out, -1, 1, scale, -1, 2 );
932+
t.strictEqual( info, 0, 'returns expected value' );
933+
t.deepEqual( out, expectedOut, 'returns expected value' );
934+
t.deepEqual( A, expectedA, 'returns expected value' );
935+
t.deepEqual( scale, expectedScale, 'returns expected value' );
936+
t.end();
937+
});
938+
939+
tape( 'the function returns expected values for job = both (column-major) (negative strides)', function test( t ) {
940+
var expectedScale;
941+
var expectedOut;
942+
var expectedA;
943+
var scale;
944+
var info;
945+
var out;
946+
var A;
947+
948+
A = new Float64Array([
949+
4.0, 0.0, 2.0,
950+
0.0, 5.0, 0.0,
951+
100.0, 0.0, 1.0
952+
]);
953+
out = new Float64Array( 2 );
954+
scale = new Float64Array( 3 );
955+
956+
expectedOut = new Float64Array( [ 1.0, 0.0 ] );
957+
expectedScale = new Float64Array( [ 1.0, 1.0, 0.125 ] );
958+
expectedA = new Float64Array([
959+
5.0, 0.0, 0.0,
960+
0.0, 4.0, 16.0,
961+
0.0, 12.5, 1.0
962+
]);
963+
964+
info = dgebal( 'both', 3, A, -1, -3, 8, out, -1, 1, scale, -1, 2 );
965+
966+
t.strictEqual( info, 0, 'returns expected value' );
967+
t.deepEqual( out, expectedOut, 'returns expected value' );
968+
t.deepEqual( A, expectedA, 'returns expected value' );
969+
t.deepEqual( scale, expectedScale, 'returns expected value' );
970+
t.end();
971+
});
972+
973+
tape( 'the function returns expected values for job = both with complex input (row-major) (negative strides)', function test( t ) {
974+
var expectedScale;
975+
var expectedOut;
976+
var expectedA;
977+
var scale;
978+
var info;
979+
var out;
980+
var A;
981+
982+
A = new Float64Array([
983+
3.0, 0.0, 0.0,
984+
0.0, 2.0, 0.0,
985+
0.0, 1.0, 1.0
986+
]);
987+
988+
out = new Float64Array( 2 );
989+
scale = new Float64Array( 3 );
990+
991+
expectedOut = new Float64Array( [ 0.0, 0.0 ] );
992+
expectedScale = new Float64Array( [ 2.0, 1.0, 0.0 ] );
993+
expectedA = new Float64Array([
994+
3.0, 0.0, 0.0,
995+
0.0, 2.0, 0.0,
996+
0.0, 1.0, 1.0
997+
]);
998+
999+
info = dgebal( 'both', 3, A, -3, -1, 8, out, -1, 1, scale, -1, 2 );
1000+
t.strictEqual( info, 0, 'returns expected value' );
1001+
t.deepEqual( out, expectedOut, 'returns expected value' );
1002+
t.deepEqual( A, expectedA, 'returns expected value' );
1003+
t.deepEqual( scale, expectedScale, 'returns expected value' );
1004+
t.end();
1005+
});
1006+
1007+
tape( 'the function returns expected values for job = both with complex input (column-major) (negative strides)', function test( t ) {
1008+
var expectedScale;
1009+
var expectedOut;
1010+
var expectedA;
1011+
var scale;
1012+
var info;
1013+
var out;
1014+
var A;
1015+
1016+
A = new Float64Array([
1017+
3.0, 0.0, 0.0,
1018+
0.0, 2.0, 1.0,
1019+
0.0, 0.0, 1.0
1020+
]);
1021+
out = new Float64Array( 2 );
1022+
scale = new Float64Array( 3 );
1023+
1024+
expectedOut = new Float64Array( [ 0.0, 0.0 ] );
1025+
expectedScale = new Float64Array( [ 2.0, 1.0, 0.0 ] );
1026+
1027+
expectedA = new Float64Array([
1028+
3.0, 0.0, 0.0,
1029+
0.0, 2.0, 1.0,
1030+
0.0, 0.0, 1.0
1031+
]);
1032+
1033+
info = dgebal( 'both', 3, A, -1, -3, 8, out, -1, 1, scale, -1, 2 );
1034+
t.strictEqual( info, 0, 'returns expected value' );
1035+
t.deepEqual( out, expectedOut, 'returns expected value' );
1036+
t.deepEqual( A, expectedA, 'returns expected value' );
1037+
t.deepEqual( scale, expectedScale, 'returns expected value' );
1038+
t.end();
1039+
});
1040+
1041+
tape( 'the function returns expected values for job = both with complex input (row-major) (negative strides)', function test( t ) {
1042+
var expectedScale;
1043+
var expectedOut;
1044+
var expectedA;
1045+
var scale;
1046+
var info;
1047+
var out;
1048+
var A;
1049+
1050+
A = new Float64Array([
1051+
7.0, 0.0, 6.0,
1052+
5.0, 4.0, 3.0,
1053+
2.0, 0.0, 1.0
1054+
]);
1055+
out = new Float64Array( 2 );
1056+
scale = new Float64Array( 3 );
1057+
1058+
expectedOut = new Float64Array( [ 2.0, 1.0 ] );
1059+
expectedScale = new Float64Array( [ 1.0, 0.5, 1.0 ] );
1060+
expectedA = new Float64Array([
1061+
7.0, 3.0, 0.0,
1062+
4.0, 1.0, 0.0,
1063+
5.0, 1.5, 4.0
1064+
]);
1065+
info = dgebal( 'both', 3, A, -3, -1, 8, out, -1, 1, scale, -1, 2 );
1066+
t.strictEqual( info, 0, 'returns expected value' );
1067+
t.deepEqual( out, expectedOut, 'returns expected value' );
1068+
t.deepEqual( A, expectedA, 'returns expected value' );
1069+
t.deepEqual( scale, expectedScale, 'returns expected value' );
1070+
t.end();
1071+
});
1072+
1073+
tape( 'the function returns expected values for job = both with complex input (column-major) (negative strides)', function test( t ) {
1074+
var expectedScale;
1075+
var expectedOut;
1076+
var expectedA;
1077+
var scale;
1078+
var info;
1079+
var out;
1080+
var A;
1081+
1082+
A = new Float64Array([
1083+
7.0, 5.0, 2.0,
1084+
0.0, 4.0, 0.0,
1085+
6.0, 3.0, 1.0
1086+
]);
1087+
out = new Float64Array( 2 );
1088+
scale = new Float64Array( 3 );
1089+
1090+
expectedOut = new Float64Array( [ 2.0, 1.0 ] );
1091+
expectedScale = new Float64Array( [ 1.0, 0.5, 1.0 ] );
1092+
1093+
expectedA = new Float64Array([
1094+
7.0, 4.0, 5.0,
1095+
3.0, 1.0, 1.5,
1096+
0.0, 0.0, 4.0
1097+
]);
1098+
1099+
info = dgebal( 'both', 3, A, -1, -3, 8, out, -1, 1, scale, -1, 2 );
1100+
t.strictEqual( info, 0, 'returns expected value' );
1101+
t.deepEqual( out, expectedOut, 'returns expected value' );
1102+
t.deepEqual( A, expectedA, 'returns expected value' );
1103+
t.deepEqual( scale, expectedScale, 'returns expected value' );
1104+
t.end();
1105+
});

0 commit comments

Comments
 (0)