@@ -23,16 +23,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
2323 < div class ='clearfix '>
2424
2525 < div class ='fl pad1y space-right2 '>
26- < span class ="strong "> 90.07 % </ span >
26+ < span class ="strong "> 100 % </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 118/131 </ span >
28+ < span class ='fraction '> 128/128 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
33- < span class ="strong "> 69.23 % </ span >
33+ < span class ="strong "> 100 % </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 9 /13</ span >
35+ < span class ='fraction '> 13 /13</ span >
3636 </ div >
3737
3838
@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
4444
4545
4646 < div class ='fl pad1y space-right2 '>
47- < span class ="strong "> 90.07 % </ span >
47+ < span class ="strong "> 100 % </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 118/131 </ span >
49+ < span class ='fraction '> 128/128 </ span >
5050 </ div >
5151
5252
@@ -191,10 +191,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
191191< a name ='L126 '> </ a > < a href ='#L126 '> 126</ a >
192192< a name ='L127 '> </ a > < a href ='#L127 '> 127</ a >
193193< a name ='L128 '> </ a > < a href ='#L128 '> 128</ a >
194- < a name ='L129 '> </ a > < a href ='#L129 '> 129</ a >
195- < a name ='L130 '> </ a > < a href ='#L130 '> 130</ a >
196- < a name ='L131 '> </ a > < a href ='#L131 '> 131</ a >
197- < a name ='L132 '> </ a > < a href ='#L132 '> 132</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
194+ < a name ='L129 '> </ a > < a href ='#L129 '> 129</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
198195< span class ="cline-any cline-yes "> 3x</ span >
199196< span class ="cline-any cline-yes "> 3x</ span >
200197< span class ="cline-any cline-yes "> 3x</ span >
@@ -264,43 +261,40 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
264261< span class ="cline-any cline-yes "> 3x</ span >
265262< span class ="cline-any cline-yes "> 3x</ span >
266263< span class ="cline-any cline-yes "> 3x</ span >
267- < span class ="cline-any cline-yes "> 5x</ span >
268- < span class ="cline-any cline-yes "> 5x</ span >
269- < span class ="cline-any cline-yes "> 5x</ span >
270- < span class ="cline-any cline-yes "> 5x</ span >
271- < span class ="cline-any cline-yes "> 5x</ span >
272- < span class ="cline-any cline-yes "> 5x</ span >
273- < span class ="cline-any cline-yes "> 5x</ span >
274- < span class ="cline-any cline-yes "> 5x</ span >
275- < span class ="cline-any cline-yes "> 4x</ span >
276- < span class ="cline-any cline-yes "> 4x</ span >
277- < span class ="cline-any cline-yes "> 4x</ span >
278- < span class ="cline-any cline-no "> </ span >
279- < span class ="cline-any cline-no "> </ span >
280- < span class ="cline-any cline-yes "> 4x</ span >
281- < span class ="cline-any cline-yes "> 4x</ span >
282- < span class ="cline-any cline-yes "> 4x</ span >
264+ < span class ="cline-any cline-yes "> 9x</ span >
265+ < span class ="cline-any cline-yes "> 9x</ span >
266+ < span class ="cline-any cline-yes "> 9x</ span >
267+ < span class ="cline-any cline-yes "> 9x</ span >
268+ < span class ="cline-any cline-yes "> 9x</ span >
269+ < span class ="cline-any cline-yes "> 9x</ span >
270+ < span class ="cline-any cline-yes "> 9x</ span >
271+ < span class ="cline-any cline-yes "> 9x</ span >
272+ < span class ="cline-any cline-yes "> 8x</ span >
283273< span class ="cline-any cline-yes "> 4x</ span >
284274< span class ="cline-any cline-yes "> 4x</ span >
285- < span class ="cline-any cline-no "> </ span >
286- < span class ="cline-any cline-no "> </ span >
287275< span class ="cline-any cline-yes "> 4x</ span >
288276< span class ="cline-any cline-yes "> 4x</ span >
289277< span class ="cline-any cline-yes "> 8x</ span >
290278< span class ="cline-any cline-yes "> 8x</ span >
291279< span class ="cline-any cline-yes "> 8x</ span >
280+ < span class ="cline-any cline-yes "> 8x</ span >
281+ < span class ="cline-any cline-yes "> 8x</ span >
282+ < span class ="cline-any cline-yes "> 8x</ span >
283+ < span class ="cline-any cline-yes "> 14x</ span >
284+ < span class ="cline-any cline-yes "> 14x</ span >
285+ < span class ="cline-any cline-yes "> 14x</ span >
286+ < span class ="cline-any cline-yes "> 8x</ span >
292287< span class ="cline-any cline-yes "> 4x</ span >
293288< span class ="cline-any cline-yes "> 4x</ span >
294289< span class ="cline-any cline-yes "> 4x</ span >
295- < span class ="cline-any cline-no "> </ span >
296- < span class ="cline-any cline-no "> </ span >
297- < span class ="cline-any cline-yes "> 4x</ span >
298290< span class ="cline-any cline-yes "> 4x</ span >
299- < span class ="cline-any cline-yes "> 5x</ span >
291+ < span class ="cline-any cline-yes "> 8x</ span >
292+ < span class ="cline-any cline-yes "> 8x</ span >
293+ < span class ="cline-any cline-yes "> 9x</ span >
300294< span class ="cline-any cline-yes "> 1x</ span >
301295< span class ="cline-any cline-yes "> 1x</ span >
302296< span class ="cline-any cline-yes "> 1x</ span >
303- < span class ="cline-any cline-yes "> 4x </ span >
297+ < span class ="cline-any cline-yes "> 9x </ span >
304298< span class ="cline-any cline-yes "> 4x</ span >
305299< span class ="cline-any cline-yes "> 2x</ span >
306300< span class ="cline-any cline-yes "> 2x</ span >
@@ -309,17 +303,17 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
309303< span class ="cline-any cline-yes "> 2x</ span >
310304< span class ="cline-any cline-yes "> 2x</ span >
311305< span class ="cline-any cline-yes "> 2x</ span >
312- < span class ="cline-any cline-yes "> 5x</ span >
313- < span class ="cline-any cline-no "> </ span >
314- < span class ="cline-any cline-no "> </ span >
315- < span class ="cline-any cline-no "> </ span >
316- < span class ="cline-any cline-no "> </ span >
317- < span class ="cline-any cline-no "> </ span >
318- < span class ="cline-any cline-no "> </ span >
319- < span class ="cline-any cline-no "> </ span >
320- < span class ="cline-any cline-yes "> 4x</ span >
321306< span class ="cline-any cline-yes "> 4x</ span >
322- < span class ="cline-any cline-yes "> 5x</ span >
307+ < span class ="cline-any cline-yes "> 2x</ span >
308+ < span class ="cline-any cline-yes "> 2x</ span >
309+ < span class ="cline-any cline-yes "> 2x</ span >
310+ < span class ="cline-any cline-yes "> 2x</ span >
311+ < span class ="cline-any cline-yes "> 2x</ span >
312+ < span class ="cline-any cline-yes "> 2x</ span >
313+ < span class ="cline-any cline-yes "> 2x</ span >
314+ < span class ="cline-any cline-yes "> 8x</ span >
315+ < span class ="cline-any cline-yes "> 8x</ span >
316+ < span class ="cline-any cline-yes "> 9x</ span >
323317< span class ="cline-any cline-yes "> 3x</ span >
324318< span class ="cline-any cline-yes "> 3x</ span >
325319< span class ="cline-any cline-yes "> 3x</ span >
@@ -405,26 +399,23 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
405399 if ( tau !== 0.0 ) {
406400 if ( side === 'left' ) {
407401 lastv = M;
408- }< span class =" branch-0 cbranch-no " title =" branch not covered " > else {</ span >
409- < span class =" cstat-no " title =" statement not covered " > lastv = N;</ span >
410- < span class =" cstat-no " title =" statement not covered " > }</ span >
402+ } else {
403+ lastv = N;
404+ }
411405
412- // check here
413- if ( strideV > 0 ) {
414- i = offsetV + ( ( lastv - 1 ) * strideV );
415- }< span class ="branch-0 cbranch-no " title ="branch not covered " > else {</ span >
416- < span class ="cstat-no " title ="statement not covered " > i = offsetV;</ span >
417- < span class ="cstat-no " title ="statement not covered " > }</ span >
406+ // i points to the last element in V
407+ i = offsetV + ( ( lastv - 1 ) * strideV );
418408
409+ // Move i to the last non-zero element in V
419410 while ( lastv > 0 && V[ i ] === 0.0 ) {
420411 lastv -= 1;
421412 i -= strideV;
422413 }
423414 if ( side === 'left' ) {
424415 lastc = iladlc( lastv + 1, N, C, strideC1, strideC2, offsetC ) + 1; // to account for the difference between zero-based and one-based indexing
425- }< span class =" branch-0 cbranch-no " title =" branch not covered " > else {</ span >
426- < span class =" cstat-no " title =" statement not covered " > lastc = iladlr( M, lastv + 1, C, strideC1, strideC2, offsetC ) + 1; // to account for the difference between zero-based and one-based indexing</ span >
427- < span class =" cstat-no " title =" statement not covered " > }</ span >
416+ } else {
417+ lastc = iladlr( M, lastv + 1, C, strideC1, strideC2, offsetC ) + 1; // to account for the difference between zero-based and one-based indexing
418+ }
428419 // lastc is zero if a matrix is filled with zeros
429420 }
430421 if ( lastc === 0 ) {
@@ -440,14 +431,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
440431 daxpy( lastc, -tau, work, strideWork, offsetWork, C, strideC2, offsetC ); // operates on the first row of C
441432 dger( lastv-1, lastc, -tau, V, strideV, offsetV + strideV, work, strideWork, offsetWork, C, strideC1, strideC2, offsetC + strideC1 ); // C( 1, 0 ) is accessed here
442433 }
443- }< span class =" branch-0 cbranch-no " title =" branch not covered " > else if ( lastv === 0 ) {</ span >
444- < span class =" cstat-no " title =" statement not covered " > dscal( lastc, 1.0 - tau, C, strideC1, offsetC ); // scale the first column</ span >
445- < span class =" cstat-no " title =" statement not covered " > } else {</ span >
446- < span class =" cstat-no " title =" statement not covered " > dgemv( 'no-transpose', lastc, lastv-1, 1.0, C, strideC1, strideC2, offsetC + strideC2, V, strideV, offsetV + strideV, 0.0, work, strideWork, offsetWork ); // C( 0, 1 ) is accessed here</ span >
447- < span class =" cstat-no " title =" statement not covered " > daxpy( lastc, 1.0, C, strideC1, offsetC, work, strideWork, offsetWork ); // operates on the first column of C</ span >
448- < span class =" cstat-no " title =" statement not covered " > daxpy( lastc, -tau, work, strideWork, offsetWork, C, strideC1, offsetC ); // operates on the first column of C</ span >
449- < span class =" cstat-no " title =" statement not covered " > dger( lastc, lastv-1, -tau, work, strideWork, offsetWork, V, strideV, offsetV + strideV, C, strideC1, strideC2, offsetC + strideC2 ); // C( 0, 1 ) is accessed here</ span >
450- < span class =" cstat-no " title =" statement not covered " > } </ span >
434+ } else if ( lastv === 0 ) {
435+ dscal( lastc, 1.0 - tau, C, strideC1, offsetC ); // scale the first column
436+ } else {
437+ dgemv( 'no-transpose', lastc, lastv-1, 1.0, C, strideC1, strideC2, offsetC + strideC2, V, strideV, offsetV + strideV, 0.0, work, strideWork, offsetWork ); // C( 0, 1 ) is accessed here
438+ daxpy( lastc, 1.0, C, strideC1, offsetC, work, strideWork, offsetWork ); // operates on the first column of C
439+ daxpy( lastc, -tau, work, strideWork, offsetWork, C, strideC1, offsetC ); // operates on the first column of C
440+ dger( lastc, lastv-1, -tau, work, strideWork, offsetWork, V, strideV, offsetV + strideV, C, strideC1, strideC2, offsetC + strideC2 ); // C( 0, 1 ) is accessed here
441+ }
451442
452443 return C;
453444}
@@ -463,7 +454,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">lapack
463454 < div class ='footer quiet pad2 space-top1 center small '>
464455 Code coverage generated by
465456 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
466- at 2025-07-02T11:46:13.948Z
457+ at 2025-07-03T09:09:48.151Z
467458 </ div >
468459 < script src ="../../../../prettify.js "> </ script >
469460 < script >
0 commit comments