Skip to content

Commit 91366cd

Browse files
committed
test: add some 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 6d755ca commit 91366cd

File tree

1 file changed

+214
-1
lines changed

1 file changed

+214
-1
lines changed

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

Lines changed: 214 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ tape( 'the function returns expected values for job = scale (column-major)', fun
280280
2.0, 0.25, 0.25
281281
]);
282282

283-
info = dgebal( 'both', 3, A, 1, 3, 0, out, 1, 0, scale, 1, 0 );
283+
info = dgebal( 'scale', 3, A, 1, 3, 0, out, 1, 0, scale, 1, 0 );
284284
t.strictEqual( info, 0, 'returns expected value' );
285285
t.deepEqual( out, expectedOut, 'returns expected value' );
286286
t.deepEqual( A, expectedA, 'returns expected value' );
@@ -688,3 +688,216 @@ tape( 'the function returns expected values for job = both with large values (co
688688
t.deepEqual( scale, expectedScale, 'returns expected value' );
689689
t.end();
690690
});
691+
692+
tape( 'the function returns expected values for job = none (row-major) (negative strides)', function test( t ) {
693+
var expectedScale;
694+
var expectedOut;
695+
var expectedA;
696+
var scale;
697+
var info;
698+
var out;
699+
var A;
700+
701+
A = new Float64Array([
702+
9.0, 8.0, 7.0,
703+
6.0, 5.0, 4.0,
704+
3.0, 2.0, 1.0
705+
]);
706+
out = new Float64Array( 2 );
707+
scale = new Float64Array( 3 );
708+
709+
expectedOut = new Float64Array( [ 2.0, 0.0 ] );
710+
expectedScale = new Float64Array( [ 1.0, 1.0, 1.0 ] );
711+
expectedA = new Float64Array([
712+
9.0, 8.0, 7.0,
713+
6.0, 5.0, 4.0,
714+
3.0, 2.0, 1.0
715+
]);
716+
717+
info = dgebal( 'none', 3, A, -3, -1, 8, out, -1, 1, scale, -1, 2 );
718+
t.strictEqual( info, 0, 'returns expected value' );
719+
t.deepEqual( out, expectedOut, 'returns expected value' );
720+
t.deepEqual( A, expectedA, 'returns expected value' );
721+
t.deepEqual( scale, expectedScale, 'returns expected value' );
722+
t.end();
723+
});
724+
725+
tape( 'the function returns expected values for job = none (column-major) (negative strides)', function test( t ) {
726+
var expectedScale;
727+
var expectedOut;
728+
var expectedA;
729+
var scale;
730+
var info;
731+
var out;
732+
var A;
733+
734+
A = new Float64Array([
735+
9.0, 6.0, 3.0,
736+
8.0, 5.0, 2.0,
737+
7.0, 4.0, 1.0
738+
]);
739+
out = new Float64Array( 2 );
740+
scale = new Float64Array( 3 );
741+
742+
expectedOut = new Float64Array( [ 2.0, 0.0 ] );
743+
expectedScale = new Float64Array( [ 1.0, 1.0, 1.0 ] );
744+
expectedA = new Float64Array([
745+
9.0, 6.0, 3.0,
746+
8.0, 5.0, 2.0,
747+
7.0, 4.0, 1.0
748+
]);
749+
750+
info = dgebal( 'both', 3, A, -1, -3, 8, out, -1, 1, scale, -1, 2 );
751+
t.strictEqual( info, 0, 'returns expected value' );
752+
t.deepEqual( out, expectedOut, 'returns expected value' );
753+
t.deepEqual( A, expectedA, 'returns expected value' );
754+
t.deepEqual( scale, expectedScale, 'returns expected value' );
755+
t.end();
756+
});
757+
758+
tape( 'the function returns expected values for job = permutate (row-major) (negative strides)', function test( t ) {
759+
var expectedScale;
760+
var expectedOut;
761+
var expectedA;
762+
var scale;
763+
var info;
764+
var out;
765+
var A;
766+
767+
A = new Float64Array([
768+
4.0, 0.0, 3.0,
769+
0.0, 5.0, 0.0,
770+
2.0, 0.0, 1.0
771+
]);
772+
out = new Float64Array( 2 );
773+
scale = new Float64Array( 3 );
774+
775+
expectedOut = new Float64Array( [ 1.0, 0.0 ] );
776+
expectedScale = new Float64Array( [ 1.0, 1.0, 1.0 ] );
777+
778+
expectedA = new Float64Array([
779+
5.0, 0.0, 0.0,
780+
0.0, 4.0, 3.0,
781+
0.0, 2.0, 1.0
782+
]);
783+
784+
info = dgebal( 'permutate', 3, A, -3, -1, 8, out, -1, 1, scale, -1, 2 );
785+
t.strictEqual( info, 0, 'returns expected value' );
786+
t.deepEqual( out, expectedOut, 'returns expected value' );
787+
t.deepEqual( A, expectedA, 'returns expected value' );
788+
t.deepEqual( scale, expectedScale, 'returns expected value' );
789+
t.end();
790+
});
791+
792+
tape( 'the function returns expected values for job = permutate (column-major) (negative strides)', function test( t ) {
793+
var expectedScale;
794+
var expectedOut;
795+
var expectedA;
796+
var scale;
797+
var info;
798+
var out;
799+
var A;
800+
801+
A = new Float64Array([
802+
4.0, 0.0, 2.0,
803+
0.0, 5.0, 0.0,
804+
3.0, 0.0, 1.0
805+
]);
806+
out = new Float64Array( 2 );
807+
scale = new Float64Array( 3 );
808+
809+
expectedOut = new Float64Array( [ 1.0, 0.0 ] );
810+
expectedScale = new Float64Array( [ 1.0, 1.0, 1.0 ] );
811+
expectedA = new Float64Array([
812+
5.0, 0.0, 0.0,
813+
0.0, 4.0, 2.0,
814+
0.0, 3.0, 1.0
815+
]);
816+
817+
info = dgebal( 'permutate', 3, A, -1, -3, 8, out, -1, 1, scale, -1, 2 );
818+
t.strictEqual( info, 0, 'returns expected value' );
819+
t.deepEqual( out, expectedOut, 'returns expected value' );
820+
t.deepEqual( A, expectedA, 'returns expected value' );
821+
t.deepEqual( scale, expectedScale, 'returns expected value' );
822+
t.end();
823+
});
824+
825+
tape( 'the function returns expected values for job = scale (row-major) (negative strides)', function test( t ) {
826+
var expectedScale;
827+
var expectedOut;
828+
var expectedA;
829+
var scale;
830+
var info;
831+
var out;
832+
var A;
833+
834+
A = new Float64Array([
835+
16.0, 16.0, 16.0,
836+
0.25, 0.25, 0.25,
837+
0.25, 0.25, 0.25
838+
]);
839+
840+
A = new Float64Array([
841+
0.25, 0.25, 0.25,
842+
0.25, 0.25, 0.25,
843+
16.0, 16.0, 16.0
844+
]);
845+
846+
out = new Float64Array( 2 );
847+
scale = new Float64Array( 3 );
848+
849+
expectedOut = new Float64Array( [ 2.0, 0.0 ] );
850+
expectedScale = new Float64Array( [ 0.125, 0.125, 1.0 ] );
851+
expectedA = new Float64Array([
852+
16.0, 2.0, 2.0,
853+
2.0, 0.25, 0.25,
854+
2.0, 0.25, 0.25
855+
]);
856+
857+
expectedA = new Float64Array([
858+
0.25, 0.25, 2.0,
859+
0.25, 0.25, 2.0,
860+
2.0, 2.0, 16.0
861+
]);
862+
863+
info = dgebal( 'scale', 3, A, -3, -1, 8, out, -1, 1, scale, -1, 2 );
864+
t.strictEqual( info, 0, 'returns expected value' );
865+
t.deepEqual( out, expectedOut, 'returns expected value' );
866+
t.deepEqual( A, expectedA, 'returns expected value' );
867+
t.deepEqual( scale, expectedScale, 'returns expected value' );
868+
t.end();
869+
});
870+
871+
tape( 'the function returns expected values for job = scale (column-major) (negative strides)', function test( t ) {
872+
var expectedScale;
873+
var expectedOut;
874+
var expectedA;
875+
var scale;
876+
var info;
877+
var out;
878+
var A;
879+
880+
A = new Float64Array([
881+
0.25, 0.25, 16.0,
882+
0.25, 0.25, 16.0,
883+
0.25, 0.25, 16.0
884+
]);
885+
886+
out = new Float64Array( 2 );
887+
scale = new Float64Array( 3 );
888+
889+
expectedOut = new Float64Array( [ 2.0, 0.0 ] );
890+
expectedScale = new Float64Array( [ 0.125, 0.125, 1.0 ] );
891+
expectedA = new Float64Array([
892+
0.25, 0.25, 2.0,
893+
0.25, 0.25, 2.0,
894+
2.0, 2.0, 16.0
895+
]);
896+
897+
info = dgebal( 'scale', 3, A, -1, -3, 8, out, -1, 1, scale, -1, 2 );
898+
t.strictEqual( info, 0, 'returns expected value' );
899+
t.deepEqual( out, expectedOut, 'returns expected value' );
900+
t.deepEqual( A, expectedA, 'returns expected value' );
901+
t.deepEqual( scale, expectedScale, 'returns expected value' );
902+
t.end();
903+
});

0 commit comments

Comments
 (0)