@@ -23,16 +23,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
2323 < div class ='clearfix '>
2424
2525 < div class ='fl pad1y space-right2 '>
26- < span class ="strong "> 98.74 % </ span >
26+ < span class ="strong "> 100 % </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 157/159 </ span >
28+ < span class ='fraction '> 168/168 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
33- < span class ="strong "> 95 % </ span >
33+ < span class ="strong "> 100 % </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 19/20 </ span >
35+ < span class ='fraction '> 21/21 </ span >
3636 </ div >
3737
3838
@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
4444
4545
4646 < div class ='fl pad1y space-right2 '>
47- < span class ="strong "> 98.74 % </ span >
47+ < span class ="strong "> 100 % </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 157/159 </ span >
49+ < span class ='fraction '> 168/168 </ span >
5050 </ div >
5151
5252
@@ -222,7 +222,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
222222< a name ='L157 '> </ a > < a href ='#L157 '> 157</ a >
223223< a name ='L158 '> </ a > < a href ='#L158 '> 158</ a >
224224< a name ='L159 '> </ a > < a href ='#L159 '> 159</ a >
225- < a name ='L160 '> </ a > < a href ='#L160 '> 160</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
225+ < a name ='L160 '> </ a > < a href ='#L160 '> 160</ a >
226+ < a name ='L161 '> </ a > < a href ='#L161 '> 161</ a >
227+ < a name ='L162 '> </ a > < a href ='#L162 '> 162</ a >
228+ < a name ='L163 '> </ a > < a href ='#L163 '> 163</ a >
229+ < a name ='L164 '> </ a > < a href ='#L164 '> 164</ a >
230+ < a name ='L165 '> </ a > < a href ='#L165 '> 165</ a >
231+ < a name ='L166 '> </ a > < a href ='#L166 '> 166</ a >
232+ < a name ='L167 '> </ a > < a href ='#L167 '> 167</ a >
233+ < a name ='L168 '> </ a > < a href ='#L168 '> 168</ a >
234+ < a name ='L169 '> </ a > < a href ='#L169 '> 169</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
226235< span class ="cline-any cline-yes "> 3x</ span >
227236< span class ="cline-any cline-yes "> 3x</ span >
228237< span class ="cline-any cline-yes "> 3x</ span >
@@ -301,6 +310,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
301310< span class ="cline-any cline-yes "> 50x</ span >
302311< span class ="cline-any cline-yes "> 50x</ span >
303312< span class ="cline-any cline-yes "> 50x</ span >
313+ < span class ="cline-any cline-yes "> 50x</ span >
314+ < span class ="cline-any cline-yes "> 50x</ span >
315+ < span class ="cline-any cline-yes "> 50x</ span >
304316< span class ="cline-any cline-yes "> 26x</ span >
305317< span class ="cline-any cline-yes "> 26x</ span >
306318< span class ="cline-any cline-yes "> 50x</ span >
@@ -309,12 +321,12 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
309321< span class ="cline-any cline-yes "> 24x</ span >
310322< span class ="cline-any cline-yes "> 50x</ span >
311323< span class ="cline-any cline-yes "> 50x</ span >
324+ < span class ="cline-any cline-yes "> 11x</ span >
312325< span class ="cline-any cline-yes "> 8x</ span >
313- < span class ="cline-any cline-yes "> 8x</ span >
314- < span class ="cline-any cline-yes "> 8x</ span >
315- < span class ="cline-any cline-no "> </ span >
316- < span class ="cline-any cline-no "> </ span >
317- < span class ="cline-any cline-yes "> 8x</ span >
326+ < span class ="cline-any cline-yes "> 11x</ span >
327+ < span class ="cline-any cline-yes "> 3x</ span >
328+ < span class ="cline-any cline-yes "> 3x</ span >
329+ < span class ="cline-any cline-yes "> 11x</ span >
318330< span class ="cline-any cline-yes "> 50x</ span >
319331< span class ="cline-any cline-yes "> 10x</ span >
320332< span class ="cline-any cline-yes "> 10x</ span >
@@ -335,12 +347,15 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
335347< span class ="cline-any cline-yes "> 54x</ span >
336348< span class ="cline-any cline-yes "> 54x</ span >
337349< span class ="cline-any cline-yes "> 54x</ span >
350+ < span class ="cline-any cline-yes "> 54x</ span >
338351< span class ="cline-any cline-yes "> 36x</ span >
339352< span class ="cline-any cline-yes "> 36x</ span >
340353< span class ="cline-any cline-yes "> 36x</ span >
341354< span class ="cline-any cline-yes "> 36x</ span >
342355< span class ="cline-any cline-yes "> 36x</ span >
343356< span class ="cline-any cline-yes "> 36x</ span >
357+ < span class ="cline-any cline-yes "> 36x</ span >
358+ < span class ="cline-any cline-yes "> 54x</ span >
344359< span class ="cline-any cline-yes "> 54x</ span >
345360< span class ="cline-any cline-yes "> 54x</ span >
346361< span class ="cline-any cline-yes "> 54x</ span >
@@ -368,6 +383,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
368383< span class ="cline-any cline-yes "> 40x</ span >
369384< span class ="cline-any cline-yes "> 40x</ span >
370385< span class ="cline-any cline-yes "> 40x</ span >
386+ < span class ="cline-any cline-yes "> 40x</ span >
387+ < span class ="cline-any cline-yes "> 60x</ span >
388+ < span class ="cline-any cline-yes "> 60x</ span >
371389< span class ="cline-any cline-yes "> 60x</ span >
372390< span class ="cline-any cline-yes "> 60x</ span >
373391< span class ="cline-any cline-yes "> 60x</ span >
@@ -412,7 +430,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
412430// MAIN //
413431
414432/**
415- * Performs the matrix-vector operation `y = alpha *A*x + beta *y` where `alpha ` and `beta ` are scalars, `x` and `y` are `N` element vectors, and `A` is an `N` by `N` symmetric band matrix, with `K` super-diagonals.
433+ * Performs the matrix-vector operation `y = α *A*x + β *y` where `α ` and `β ` are scalars, `x` and `y` are `N` element vectors, and `A` is an `N` by `N` symmetric band matrix, with `K` super-diagonals.
416434*
417435* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced
418436* @param {NonNegativeInteger} N - number of elements along each dimension of `A`
@@ -442,12 +460,15 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
442460* // y => <Float64Array>[ 10.0, 25.0, 10.0 ]
443461*/
444462function dsbmv( uplo, N, K, alpha, A, strideA1, strideA2, offsetA, x, strideX, offsetX, beta, y, strideY, offsetY ) { // eslint-disable-line max-params, max-len
445- var temp1 ;
446- var temp2 ;
463+ var tmp1 ;
464+ var tmp2 ;
447465 var isrm;
448466 var jmin;
449467 var sa0;
450468 var sa1;
469+ var oa2;
470+ var tmp;
471+ var ia;
451472 var ix;
452473 var iy;
453474 var jx;
@@ -466,41 +487,44 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
466487 sa0 = strideA1;
467488 sa1 = strideA2;
468489 }
469- // Form: y = beta *y
490+ // Form: y = β *y
470491 if ( beta !== 1.0 ) {
471492 if ( beta === 0.0 ) {
472493 dfill( N, 0.0, y, strideY, offsetY );
473- }< span class =" branch-0 cbranch-no " title =" branch not covered " > else {</ span >
474- < span class =" cstat-no " title =" statement not covered " > dscal( N, beta, y, strideY, offsetY );</ span >
475- < span class =" cstat-no " title =" statement not covered " > }</ span >
494+ } else {
495+ dscal( N, beta, y, strideY, offsetY );
496+ }
476497 }
477498 if ( alpha === 0.0 ) {
478499 return y;
479500 }
480501 ox = offsetX;
481502 oy = offsetY;
482503
483- // Form: y = alpha *A*x + y
504+ // Form: y = α *A*x + y
484505 if (
485506 ( isrm && uplo === 'upper' ) ||
486507 ( !isrm && uplo === 'lower' )
487508 ) {
488509 ix = ox;
489510 iy = oy;
490511 for ( i = 0; i < N; i++ ) {
491- temp1 = alpha * x[ ix ];
492- temp2 = 0.0;
512+ tmp1 = alpha * x[ ix ];
513+ tmp2 = 0.0;
493514 jmin = max( 0, i - K );
494515 jx = ox + ( jmin * strideX );
495516 jy = oy + ( jmin * strideY );
517+ ia = offsetA + (i * sa1);
496518 for ( j = jmin; j < i; j++ ) {
497519 oa = offsetA + ((i - j) * sa0);
498- y[ jy ] += temp1 * A[ oa + (j * sa1) ];
499- temp2 += x[ jx ] * A[ oa + (j * sa1) ];
520+ oa2 = oa + (j * sa1);
521+ y[ jy ] += tmp1 * A[ oa2 ];
522+ tmp2 += x[ jx ] * A[ oa2 ];
500523 jx += strideX;
501524 jy += strideY;
502525 }
503- y[ iy ] += ( temp1 * A[ offsetA + (i * sa1) ] ) + ( alpha * temp2 );
526+ tmp = alpha * tmp2;
527+ y[ iy ] += ( tmp1 * A[ ia ] ) + tmp;
504528 ix += strideX;
505529 iy += strideY;
506530 }
@@ -515,20 +539,23 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
515539 ix = ox;
516540 iy = oy;
517541 for ( i = 0; i < N; i++ ) {
518- temp1 = alpha * x[ ix ];
519- temp2 = 0.0;
542+ tmp1 = alpha * x[ ix ];
543+ tmp2 = 0.0;
520544 jmin = max( 0, i - K );
521545 jx = ox + ( jmin * strideX );
522546 jy = oy + ( jmin * strideY );
523547 for ( j = jmin; j < i; j++ ) {
524- oa = offsetA + +((K + j - i) * sa0);
525- y[ jy ] += temp1 * A[ oa + (i * sa1) ];
526- temp2 += x[ jx ] * A[ oa + (i * sa1) ];
548+ oa = offsetA + ((K + j - i) * sa0);
549+ oa2 = oa + (i * sa1);
550+ y[ jy ] += tmp1 * A[ oa2 ];
551+ tmp2 += x[ jx ] * A[ oa2 ];
527552 jx += strideX;
528553 jy += strideY;
529554 }
530555 oa = offsetA + (K * sa0);
531- y[ iy ] += ( temp1 * A[ oa + (i * sa1) ] ) + ( alpha * temp2 );
556+ oa2 = oa + (i * sa1);
557+ tmp = alpha * tmp2;
558+ y[ iy ] += ( tmp1 * A[ oa2 ] ) + tmp;
532559 ix += strideX;
533560 iy += strideY;
534561 }
@@ -547,7 +574,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
547574 < div class ='footer quiet pad2 space-top1 center small '>
548575 Code coverage generated by
549576 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
550- at 2025-04-30T11:23:10.051Z
577+ at 2025-07-24T12:31:16.091Z
551578 </ div >
552579 < script src ="../../../../prettify.js "> </ script >
553580 < script >
0 commit comments