You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<spanclass="cstat-no" title="statement not covered" ><spanclass="fstat-no" title="function not covered" >function dlarf1f( side, M, N, V, strideV, offsetV, tau, C, strideC1, strideC2, offsetC, work, strideWork, offsetWork ) { // eslint-disable-line max-params</span></span>
397
-
<spanclass="cstat-no" title="statement not covered" > var lastv;</span>
398
-
<spanclass="cstat-no" title="statement not covered" > var lastc;</span>
399
-
<spanclass="cstat-no" title="statement not covered" > var i;</span>
400
-
<spanclass="cstat-no" title="statement not covered" ></span>
401
-
<spanclass="cstat-no" title="statement not covered" > lastv = 1;</span>
402
-
<spanclass="cstat-no" title="statement not covered" > lastc = 0;</span>
403
-
<spanclass="cstat-no" title="statement not covered" > if ( tau !== 0.0 ) {</span>
404
-
<spanclass="cstat-no" title="statement not covered" > if ( side === 'left' ) {</span>
405
-
<spanclass="cstat-no" title="statement not covered" > lastv = M;</span>
406
-
<spanclass="cstat-no" title="statement not covered" > } else {</span>
398
+
function dlarf1f( side, M, N, V, strideV, offsetV, tau, C, strideC1, strideC2, offsetC, work, strideWork, offsetWork ) { // eslint-disable-line max-params
399
+
var lastv;
400
+
var lastc;
401
+
var i;
402
+
403
+
lastv = 1;
404
+
lastc = 0;
405
+
if ( tau !== 0.0 ) {
406
+
if ( side === 'left' ) {
407
+
lastv = M;
408
+
}<spanclass="branch-0 cbranch-no" title="branch not covered" > else {</span>
407
409
<spanclass="cstat-no" title="statement not covered" > lastv = N;</span>
408
410
<spanclass="cstat-no" title="statement not covered" > }</span>
409
-
<spanclass="cstat-no" title="statement not covered" ></span>
410
-
<spanclass="cstat-no" title="statement not covered" > if ( strideV > 0 ) {</span>
411
-
<spanclass="cstat-no" title="statement not covered" > i = offsetV + ( ( lastv - 1 ) * strideV );</span>
412
-
<spanclass="cstat-no" title="statement not covered" > } else {</span>
411
+
412
+
// check here
413
+
if ( strideV > 0 ) {
414
+
i = offsetV + ( ( lastv - 1 ) * strideV );
415
+
}<spanclass="branch-0 cbranch-no" title="branch not covered" > else {</span>
413
416
<spanclass="cstat-no" title="statement not covered" > i = offsetV;</span>
414
417
<spanclass="cstat-no" title="statement not covered" > }</span>
415
-
<spanclass="cstat-no" title="statement not covered" ></span>
416
-
<spanclass="cstat-no" title="statement not covered" > while ( lastv > 0 && V[ i ] === 0.0 ) {</span>
417
-
<spanclass="cstat-no" title="statement not covered" > lastv -= 1;</span>
418
-
<spanclass="cstat-no" title="statement not covered" > i -= strideV;</span>
419
-
<spanclass="cstat-no" title="statement not covered" > }</span>
420
-
<spanclass="cstat-no" title="statement not covered" > if ( side === 'left' ) {</span>
421
-
<spanclass="cstat-no" title="statement not covered" > lastc = iladlc( lastv, N, C, strideC1, strideC2, offsetC ) + 1; // to account for the difference between zero-based and one-based indexing</span>
422
-
<spanclass="cstat-no" title="statement not covered" > } else {</span>
418
+
419
+
while ( lastv > 0 && V[ i ] === 0.0 ) {
420
+
lastv -= 1;
421
+
i -= strideV;
422
+
}
423
+
if ( side === 'left' ) {
424
+
lastc = iladlc( lastv, N, C, strideC1, strideC2, offsetC ) + 1; // to account for the difference between zero-based and one-based indexing
425
+
}<spanclass="branch-0 cbranch-no" title="branch not covered" > else {</span>
423
426
<spanclass="cstat-no" title="statement not covered" > lastc = iladlr( M, lastv, C, strideC1, strideC2, offsetC ) + 1; // to account for the difference between zero-based and one-based indexing</span>
424
427
<spanclass="cstat-no" title="statement not covered" > }</span>
425
-
<spanclass="cstat-no" title="statement not covered" > // lastc is zero if a matrix is filled with zeros</span>
426
-
<spanclass="cstat-no" title="statement not covered" > }</span>
427
-
<spanclass="cstat-no" title="statement not covered" > if ( lastc === 0 ) {</span>
428
-
<spanclass="cstat-no" title="statement not covered" > // Returns C unchanged if tau is zero or all elements in C are zero</span>
429
-
<spanclass="cstat-no" title="statement not covered" > return C;</span>
430
-
<spanclass="cstat-no" title="statement not covered" > }</span>
431
-
<spanclass="cstat-no" title="statement not covered" > if ( side === 'left' ) {</span>
432
-
<spanclass="cstat-no" title="statement not covered" > if ( lastv === 0 ) {</span>
428
+
// lastc is zero if a matrix is filled with zeros
429
+
}
430
+
if ( lastc === 0 ) {
431
+
// Returns C unchanged if tau is zero or all elements in C are zero
432
+
return C;
433
+
}
434
+
if ( side === 'left' ) {
435
+
if ( lastv === 0 ) <spanclass="branch-0 cbranch-no" title="branch not covered" >{</span>
433
436
<spanclass="cstat-no" title="statement not covered" > dscal( lastc, 1.0 - tau, C, strideC2, offsetC ); // scale the first row</span>
434
-
<spanclass="cstat-no" title="statement not covered" > } else {</span>
<spanclass="cstat-no" title="statement not covered" > daxpy( lastc, 1.0, C, strideC2, offsetC, work, strideWork, offsetWork ); // operates on the first row of C</span>
437
-
<spanclass="cstat-no" title="statement not covered" > daxpy( lastc, -tau, work, strideWork, offsetWork, C, strideC2, offsetC ); // operates on the first row of C</span>
<spanclass="cstat-no" title="statement not covered" > daxpy( lastc, 1.0, C, strideC1, offsetC, work, strideWork, offsetWork ); // operates on the first column of C</span>
445
448
<spanclass="cstat-no" title="statement not covered" > daxpy( lastc, -tau, work, strideWork, offsetWork, C, strideC1, offsetC ); // operates on the first column of C</span>
0 commit comments