Skip to content

Commit f16759d

Browse files
committed
test: achieve 100% code coverage
--- 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 ---
1 parent 222a922 commit f16759d

File tree

5 files changed

+292
-0
lines changed

5 files changed

+292
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ function dlanv2( A, offsetA, B, offsetB, C, offsetC, D, offsetD, RT1R, offsetRT1
198198

199199
p = 0.5 * temp;
200200
tau = dlapy2( sigma, temp );
201+
201202
CS[ offsetCS ] = sqrt( 0.5 * ( 1.0 + ( abs( sigma ) / tau ) ) );
202203
SN[ offsetSN ] = -( p / ( tau * CS[ offsetCS ] ) ) * sign( 1.0, sigma );
203204

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"A": [ 1.0 ],
3+
"offsetA": 0,
4+
"B": [ 9.9999999999999997e+199 ],
5+
"offsetB": 0,
6+
"C": [ 9.9999999999999998e-201 ],
7+
"offsetC": 0,
8+
"D": [ 1.0 ],
9+
"offsetD": 0,
10+
"RT1R": [ 0.0 ],
11+
"offsetRT1R": 0,
12+
"RT1I": [ 0.0 ],
13+
"offsetRT1I": 0,
14+
"RT2R": [ 0.0 ],
15+
"offsetRT2R": 0,
16+
"RT2I": [ 0.0 ],
17+
"offsetRT2I": 0,
18+
"CS": [ 0.0 ],
19+
"offsetCS": 0,
20+
"SN": [ 0.0 ],
21+
"offsetSN": 0,
22+
23+
"A_OUT": [ 2.0 ],
24+
"B_OUT": [ 9.9999999999999997e+199 ],
25+
"C_OUT": [ 0.0 ],
26+
"D_OUT": [ 0.0 ],
27+
"RT1R_OUT": [ 2.0 ],
28+
"RT1I_OUT": [ 0.0 ],
29+
"RT2R_OUT": [ 0.0 ],
30+
"RT2I_OUT": [ 0.0 ],
31+
"CS_OUT": [ 1.0 ],
32+
"SN_OUT": [ 9.9999999999999998e-201 ]
33+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"A": [ 1.0 ],
3+
"offsetA": 0,
4+
"B": [ 9.9999999999999998e-201 ],
5+
"offsetB": 0,
6+
"C": [ 9.9999999999999998e-201 ],
7+
"offsetC": 0,
8+
"D": [ 1.0 ],
9+
"offsetD": 0,
10+
"RT1R": [ 0.0 ],
11+
"offsetRT1R": 0,
12+
"RT1I": [ 0.0 ],
13+
"offsetRT1I": 0,
14+
"RT2R": [ 0.0 ],
15+
"offsetRT2R": 0,
16+
"RT2I": [ 0.0 ],
17+
"offsetRT2I": 0,
18+
"CS": [ 0.0 ],
19+
"offsetCS": 0,
20+
"SN": [ 0.0 ],
21+
"offsetSN": 0,
22+
23+
"A_OUT": [ 1.0 ],
24+
"B_OUT": [ 0.0 ],
25+
"C_OUT": [ 0.0 ],
26+
"D_OUT": [ 1.0 ],
27+
"RT1R_OUT": [ 1.0 ],
28+
"RT1I_OUT": [ 0.0 ],
29+
"RT2R_OUT": [ 1.0 ],
30+
"RT2I_OUT": [ 0.0 ],
31+
"CS_OUT": [ 0.70710678118654757 ],
32+
"SN_OUT": [ 0.70710678118654757 ]
33+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"A": [ 2.0 ],
3+
"offsetA": 0,
4+
"B": [ -1.0 ],
5+
"offsetB": 0,
6+
"C": [ 1.0 ],
7+
"offsetC": 0,
8+
"D": [ 0.0 ],
9+
"offsetD": 0,
10+
"RT1R": [ 0.0 ],
11+
"offsetRT1R": 0,
12+
"RT1I": [ 0.0 ],
13+
"offsetRT1I": 0,
14+
"RT2R": [ 0.0 ],
15+
"offsetRT2R": 0,
16+
"RT2I": [ 0.0 ],
17+
"offsetRT2I": 0,
18+
"CS": [ 0.0 ],
19+
"offsetCS": 0,
20+
"SN": [ 0.0 ],
21+
"offsetSN": 0,
22+
23+
"A_OUT": [ 1.0 ],
24+
"B_OUT": [ -2.0 ],
25+
"C_OUT": [ 0.0 ],
26+
"D_OUT": [ 1.0 ],
27+
"RT1R_OUT": [ 1.0 ],
28+
"RT1I_OUT": [ 0.0 ],
29+
"RT2R_OUT": [ 1.0 ],
30+
"RT2I_OUT": [ 0.0 ],
31+
"CS_OUT": [ 0.70710678118654746 ],
32+
"SN_OUT": [ 0.70710678118654757 ]
33+
}

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

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ var B_EQ_ZERO = require( './fixtures/b_eq_zero.json' );
3232
var A_EQ_D_OPP_SIGN = require( './fixtures/a_eq_d_opp_sign.json' );
3333
var Z_GT_MULTPLEPS = require( './fixtures/z_gt_multpleps.json' );
3434
var Z_LT_MULTPLEPS = require( './fixtures/z_lt_multpleps.json' );
35+
var SCALE_GT_SAFMAX = require( './fixtures/scale_gt_safmax.json' );
36+
var SCALE_LT_SAFMIN = require( './fixtures/scale_lt_safmin.json' );
37+
var Z_LT_MULTPLEPS_B_EQ_ZERO = require( './fixtures/z_lt_mutpleps_b_eq_zero.json' );
3538

3639

3740
// TESTS //
@@ -361,3 +364,192 @@ tape( 'the function returns expected output for Z < MULTPL * EPS', function test
361364

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

0 commit comments

Comments
 (0)