Skip to content

Commit 03a8196

Browse files
committed
test: add ndarray 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 f16759d commit 03a8196

File tree

1 file changed

+192
-0
lines changed

1 file changed

+192
-0
lines changed

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

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ var B_EQ_ZERO = require( './fixtures/b_eq_zero.json' );
3434
var A_EQ_D_OPP_SIGN = require( './fixtures/a_eq_d_opp_sign.json' );
3535
var Z_GT_MULTPLEPS = require( './fixtures/z_gt_multpleps.json' );
3636
var Z_LT_MULTPLEPS = require( './fixtures/z_lt_multpleps.json' );
37+
var SCALE_GT_SAFMAX = require( './fixtures/scale_gt_safmax.json' );
38+
var SCALE_LT_SAFMIN = require( './fixtures/scale_lt_safmin.json' );
39+
var Z_LT_MULTPLEPS_B_EQ_ZERO = require( './fixtures/z_lt_mutpleps_b_eq_zero.json' );
3740

3841

3942
// TESTS //
@@ -363,3 +366,192 @@ tape( 'the function returns expected output for Z < MULTPL * EPS', function test
363366

364367
t.end();
365368
});
369+
370+
tape( 'the function returns expected output for very large values', function test( t ) {
371+
var RT1R_OUT;
372+
var RT1I_OUT;
373+
var RT2R_OUT;
374+
var RT2I_OUT;
375+
var CS_OUT;
376+
var SN_OUT;
377+
var A_OUT;
378+
var B_OUT;
379+
var C_OUT;
380+
var D_OUT;
381+
var data;
382+
var RT1R;
383+
var RT1I;
384+
var RT2R;
385+
var RT2I;
386+
var CS;
387+
var SN;
388+
var A;
389+
var B;
390+
var C;
391+
var D;
392+
393+
data = SCALE_GT_SAFMAX;
394+
395+
A = new Float64Array( data.A );
396+
B = new Float64Array( data.B );
397+
C = new Float64Array( data.C );
398+
D = new Float64Array( data.D );
399+
RT1R = new Float64Array( data.RT1R );
400+
RT1I = new Float64Array( data.RT1I );
401+
RT2R = new Float64Array( data.RT2R );
402+
RT2I = new Float64Array( data.RT2I );
403+
CS = new Float64Array( data.CS );
404+
SN = new Float64Array( data.SN );
405+
406+
dlanv2( A, data.offsetA, B, data.offsetB, C, data.offsetC, D, data.offsetD, RT1R, data.offsetRT1R, RT1I, data.offsetRT1I, RT2R, data.offsetRT2R, RT2I, data.offsetRT2I, CS, data.offsetCS, SN, data.offsetSN );
407+
408+
A_OUT = new Float64Array( data.A_OUT );
409+
B_OUT = new Float64Array( data.B_OUT );
410+
C_OUT = new Float64Array( data.C_OUT );
411+
D_OUT = new Float64Array( data.D_OUT );
412+
RT1R_OUT = new Float64Array( data.RT1R_OUT );
413+
RT1I_OUT = new Float64Array( data.RT1I_OUT );
414+
RT2R_OUT = new Float64Array( data.RT2R_OUT );
415+
RT2I_OUT = new Float64Array( data.RT2I_OUT );
416+
CS_OUT = new Float64Array( data.CS_OUT );
417+
SN_OUT = new Float64Array( data.SN_OUT );
418+
419+
t.deepEqual( A, A_OUT, 'returns expected value' );
420+
t.deepEqual( B, B_OUT, 'returns expected value' );
421+
t.deepEqual( C, C_OUT, 'returns expected value' );
422+
t.deepEqual( D, D_OUT, 'returns expected value' );
423+
t.deepEqual( RT1R, RT1R_OUT, 'returns expected value' );
424+
t.deepEqual( RT1I, RT1I_OUT, 'returns expected value' );
425+
t.deepEqual( RT2R, RT2R_OUT, 'returns expected value' );
426+
t.deepEqual( RT2I, RT2I_OUT, 'returns expected value' );
427+
t.deepEqual( CS, CS_OUT, 'returns expected value' );
428+
t.deepEqual( SN, SN_OUT, 'returns expected value' );
429+
430+
t.end();
431+
});
432+
433+
tape( 'the function returns expected output for very small values', function test( t ) {
434+
var RT1R_OUT;
435+
var RT1I_OUT;
436+
var RT2R_OUT;
437+
var RT2I_OUT;
438+
var CS_OUT;
439+
var SN_OUT;
440+
var A_OUT;
441+
var B_OUT;
442+
var C_OUT;
443+
var D_OUT;
444+
var data;
445+
var RT1R;
446+
var RT1I;
447+
var RT2R;
448+
var RT2I;
449+
var CS;
450+
var SN;
451+
var A;
452+
var B;
453+
var C;
454+
var D;
455+
456+
data = SCALE_LT_SAFMIN;
457+
458+
A = new Float64Array( data.A );
459+
B = new Float64Array( data.B );
460+
C = new Float64Array( data.C );
461+
D = new Float64Array( data.D );
462+
RT1R = new Float64Array( data.RT1R );
463+
RT1I = new Float64Array( data.RT1I );
464+
RT2R = new Float64Array( data.RT2R );
465+
RT2I = new Float64Array( data.RT2I );
466+
CS = new Float64Array( data.CS );
467+
SN = new Float64Array( data.SN );
468+
469+
dlanv2( A, data.offsetA, B, data.offsetB, C, data.offsetC, D, data.offsetD, RT1R, data.offsetRT1R, RT1I, data.offsetRT1I, RT2R, data.offsetRT2R, RT2I, data.offsetRT2I, CS, data.offsetCS, SN, data.offsetSN );
470+
471+
A_OUT = new Float64Array( data.A_OUT );
472+
B_OUT = new Float64Array( data.B_OUT );
473+
C_OUT = new Float64Array( data.C_OUT );
474+
D_OUT = new Float64Array( data.D_OUT );
475+
RT1R_OUT = new Float64Array( data.RT1R_OUT );
476+
RT1I_OUT = new Float64Array( data.RT1I_OUT );
477+
RT2R_OUT = new Float64Array( data.RT2R_OUT );
478+
RT2I_OUT = new Float64Array( data.RT2I_OUT );
479+
CS_OUT = new Float64Array( data.CS_OUT );
480+
SN_OUT = new Float64Array( data.SN_OUT );
481+
482+
t.deepEqual( A, A_OUT, 'returns expected value' );
483+
t.deepEqual( B, B_OUT, 'returns expected value' );
484+
t.deepEqual( C, C_OUT, 'returns expected value' );
485+
t.deepEqual( D, D_OUT, 'returns expected value' );
486+
t.deepEqual( RT1R, RT1R_OUT, 'returns expected value' );
487+
t.deepEqual( RT1I, RT1I_OUT, 'returns expected value' );
488+
t.deepEqual( RT2R, RT2R_OUT, 'returns expected value' );
489+
t.deepEqual( RT2I, RT2I_OUT, 'returns expected value' );
490+
t.deepEqual( CS, CS_OUT, 'returns expected value' );
491+
t.deepEqual( SN, SN_OUT, 'returns expected value' );
492+
493+
t.end();
494+
});
495+
496+
tape( 'the function returns expected output when B = 0 post rotation', function test( t ) {
497+
var RT1R_OUT;
498+
var RT1I_OUT;
499+
var RT2R_OUT;
500+
var RT2I_OUT;
501+
var CS_OUT;
502+
var SN_OUT;
503+
var A_OUT;
504+
var B_OUT;
505+
var C_OUT;
506+
var D_OUT;
507+
var data;
508+
var RT1R;
509+
var RT1I;
510+
var RT2R;
511+
var RT2I;
512+
var CS;
513+
var SN;
514+
var A;
515+
var B;
516+
var C;
517+
var D;
518+
519+
data = Z_LT_MULTPLEPS_B_EQ_ZERO;
520+
521+
A = new Float64Array( data.A );
522+
B = new Float64Array( data.B );
523+
C = new Float64Array( data.C );
524+
D = new Float64Array( data.D );
525+
RT1R = new Float64Array( data.RT1R );
526+
RT1I = new Float64Array( data.RT1I );
527+
RT2R = new Float64Array( data.RT2R );
528+
RT2I = new Float64Array( data.RT2I );
529+
CS = new Float64Array( data.CS );
530+
SN = new Float64Array( data.SN );
531+
532+
dlanv2( A, data.offsetA, B, data.offsetB, C, data.offsetC, D, data.offsetD, RT1R, data.offsetRT1R, RT1I, data.offsetRT1I, RT2R, data.offsetRT2R, RT2I, data.offsetRT2I, CS, data.offsetCS, SN, data.offsetSN );
533+
534+
A_OUT = new Float64Array( data.A_OUT );
535+
B_OUT = new Float64Array( data.B_OUT );
536+
C_OUT = new Float64Array( data.C_OUT );
537+
D_OUT = new Float64Array( data.D_OUT );
538+
RT1R_OUT = new Float64Array( data.RT1R_OUT );
539+
RT1I_OUT = new Float64Array( data.RT1I_OUT );
540+
RT2R_OUT = new Float64Array( data.RT2R_OUT );
541+
RT2I_OUT = new Float64Array( data.RT2I_OUT );
542+
CS_OUT = new Float64Array( data.CS_OUT );
543+
SN_OUT = new Float64Array( data.SN_OUT );
544+
545+
t.deepEqual( A, A_OUT, 'returns expected value' );
546+
t.deepEqual( B, B_OUT, 'returns expected value' );
547+
t.deepEqual( C, C_OUT, 'returns expected value' );
548+
t.deepEqual( D, D_OUT, 'returns expected value' );
549+
t.deepEqual( RT1R, RT1R_OUT, 'returns expected value' );
550+
t.deepEqual( RT1I, RT1I_OUT, 'returns expected value' );
551+
t.deepEqual( RT2R, RT2R_OUT, 'returns expected value' );
552+
t.deepEqual( RT2I, RT2I_OUT, 'returns expected value' );
553+
t.deepEqual( CS, CS_OUT, 'returns expected value' );
554+
t.deepEqual( SN, SN_OUT, 'returns expected value' );
555+
556+
t.end();
557+
});

0 commit comments

Comments
 (0)