@@ -25,7 +25,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 328/328 </ span >
28+ < span class ='fraction '> 357/357 </ span >
2929 </ div >
3030
3131
@@ -46,7 +46,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 328/328 </ span >
49+ < span class ='fraction '> 357/357 </ span >
5050 </ div >
5151
5252
@@ -391,7 +391,36 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
391391< a name ='L326 '> </ a > < a href ='#L326 '> 326</ a >
392392< a name ='L327 '> </ a > < a href ='#L327 '> 327</ a >
393393< a name ='L328 '> </ a > < a href ='#L328 '> 328</ a >
394- < a name ='L329 '> </ a > < a href ='#L329 '> 329</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
394+ < a name ='L329 '> </ a > < a href ='#L329 '> 329</ a >
395+ < a name ='L330 '> </ a > < a href ='#L330 '> 330</ a >
396+ < a name ='L331 '> </ a > < a href ='#L331 '> 331</ a >
397+ < a name ='L332 '> </ a > < a href ='#L332 '> 332</ a >
398+ < a name ='L333 '> </ a > < a href ='#L333 '> 333</ a >
399+ < a name ='L334 '> </ a > < a href ='#L334 '> 334</ a >
400+ < a name ='L335 '> </ a > < a href ='#L335 '> 335</ a >
401+ < a name ='L336 '> </ a > < a href ='#L336 '> 336</ a >
402+ < a name ='L337 '> </ a > < a href ='#L337 '> 337</ a >
403+ < a name ='L338 '> </ a > < a href ='#L338 '> 338</ a >
404+ < a name ='L339 '> </ a > < a href ='#L339 '> 339</ a >
405+ < a name ='L340 '> </ a > < a href ='#L340 '> 340</ a >
406+ < a name ='L341 '> </ a > < a href ='#L341 '> 341</ a >
407+ < a name ='L342 '> </ a > < a href ='#L342 '> 342</ a >
408+ < a name ='L343 '> </ a > < a href ='#L343 '> 343</ a >
409+ < a name ='L344 '> </ a > < a href ='#L344 '> 344</ a >
410+ < a name ='L345 '> </ a > < a href ='#L345 '> 345</ a >
411+ < a name ='L346 '> </ a > < a href ='#L346 '> 346</ a >
412+ < a name ='L347 '> </ a > < a href ='#L347 '> 347</ a >
413+ < a name ='L348 '> </ a > < a href ='#L348 '> 348</ a >
414+ < a name ='L349 '> </ a > < a href ='#L349 '> 349</ a >
415+ < a name ='L350 '> </ a > < a href ='#L350 '> 350</ a >
416+ < a name ='L351 '> </ a > < a href ='#L351 '> 351</ a >
417+ < a name ='L352 '> </ a > < a href ='#L352 '> 352</ a >
418+ < a name ='L353 '> </ a > < a href ='#L353 '> 353</ a >
419+ < a name ='L354 '> </ a > < a href ='#L354 '> 354</ a >
420+ < a name ='L355 '> </ a > < a href ='#L355 '> 355</ a >
421+ < a name ='L356 '> </ a > < a href ='#L356 '> 356</ a >
422+ < a name ='L357 '> </ a > < a href ='#L357 '> 357</ a >
423+ < a name ='L358 '> </ a > < a href ='#L358 '> 358</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
395424< span class ="cline-any cline-yes "> 3x</ span >
396425< span class ="cline-any cline-yes "> 3x</ span >
397426< span class ="cline-any cline-yes "> 3x</ span >
@@ -603,6 +632,11 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
603632< span class ="cline-any cline-yes "> 76x</ span >
604633< span class ="cline-any cline-yes "> 76x</ span >
605634< span class ="cline-any cline-yes "> 76x</ span >
635+ < span class ="cline-any cline-yes "> 76x</ span >
636+ < span class ="cline-any cline-yes "> 76x</ span >
637+ < span class ="cline-any cline-yes "> 76x</ span >
638+ < span class ="cline-any cline-yes "> 76x</ span >
639+ < span class ="cline-any cline-yes "> 76x</ span >
606640< span class ="cline-any cline-yes "> 9x</ span >
607641< span class ="cline-any cline-yes "> 9x</ span >
608642< span class ="cline-any cline-yes "> 76x</ span >
@@ -639,6 +673,11 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
639673< span class ="cline-any cline-yes "> 76x</ span >
640674< span class ="cline-any cline-yes "> 13x</ span >
641675< span class ="cline-any cline-yes "> 39x</ span >
676+ < span class ="cline-any cline-yes "> 39x</ span >
677+ < span class ="cline-any cline-yes "> 39x</ span >
678+ < span class ="cline-any cline-yes "> 39x</ span >
679+ < span class ="cline-any cline-yes "> 117x</ span >
680+ < span class ="cline-any cline-yes "> 117x</ span >
642681< span class ="cline-any cline-yes "> 117x</ span >
643682< span class ="cline-any cline-yes "> 117x</ span >
644683< span class ="cline-any cline-yes "> 117x</ span >
@@ -648,6 +687,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
648687< span class ="cline-any cline-yes "> 234x</ span >
649688< span class ="cline-any cline-yes "> 234x</ span >
650689< span class ="cline-any cline-yes "> 234x</ span >
690+ < span class ="cline-any cline-yes "> 234x</ span >
651691< span class ="cline-any cline-yes "> 117x</ span >
652692< span class ="cline-any cline-yes "> 117x</ span >
653693< span class ="cline-any cline-yes "> 117x</ span >
@@ -660,15 +700,21 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
660700< span class ="cline-any cline-yes "> 76x</ span >
661701< span class ="cline-any cline-yes "> 26x</ span >
662702< span class ="cline-any cline-yes "> 175x</ span >
703+ < span class ="cline-any cline-yes "> 175x</ span >
704+ < span class ="cline-any cline-yes "> 175x</ span >
705+ < span class ="cline-any cline-yes "> 175x</ span >
706+ < span class ="cline-any cline-yes "> 10225x</ span >
663707< span class ="cline-any cline-yes "> 10225x</ span >
664708< span class ="cline-any cline-yes "> 10225x</ span >
665709< span class ="cline-any cline-yes "> 495225x</ span >
666710< span class ="cline-any cline-yes "> 495225x</ span >
667711< span class ="cline-any cline-yes "> 495225x</ span >
712+ < span class ="cline-any cline-yes "> 495225x</ span >
668713< span class ="cline-any cline-yes "> 10225x</ span >
669714< span class ="cline-any cline-yes "> 505450x</ span >
670715< span class ="cline-any cline-yes "> 505450x</ span >
671716< span class ="cline-any cline-yes "> 505450x</ span >
717+ < span class ="cline-any cline-yes "> 505450x</ span >
672718< span class ="cline-any cline-yes "> 10225x</ span >
673719< span class ="cline-any cline-yes "> 10225x</ span >
674720< span class ="cline-any cline-yes "> 10225x</ span >
@@ -681,15 +727,21 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
681727< span class ="cline-any cline-yes "> 76x</ span >
682728< span class ="cline-any cline-yes "> 12x</ span >
683729< span class ="cline-any cline-yes "> 133x</ span >
730+ < span class ="cline-any cline-yes "> 133x</ span >
731+ < span class ="cline-any cline-yes "> 133x</ span >
684732< span class ="cline-any cline-yes "> 10099x</ span >
685733< span class ="cline-any cline-yes "> 10099x</ span >
734+ < span class ="cline-any cline-yes "> 10099x</ span >
735+ < span class ="cline-any cline-yes "> 10099x</ span >
736+ < span class ="cline-any cline-yes "> 495099x</ span >
686737< span class ="cline-any cline-yes "> 495099x</ span >
687738< span class ="cline-any cline-yes "> 495099x</ span >
688739< span class ="cline-any cline-yes "> 495099x</ span >
689740< span class ="cline-any cline-yes "> 10099x</ span >
690741< span class ="cline-any cline-yes "> 505198x</ span >
691742< span class ="cline-any cline-yes "> 505198x</ span >
692743< span class ="cline-any cline-yes "> 505198x</ span >
744+ < span class ="cline-any cline-yes "> 505198x</ span >
693745< span class ="cline-any cline-yes "> 10099x</ span >
694746< span class ="cline-any cline-yes "> 10099x</ span >
695747< span class ="cline-any cline-yes "> 10099x</ span >
@@ -699,12 +751,18 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
699751< span class ="cline-any cline-yes "> 10x</ span >
700752< span class ="cline-any cline-yes "> 76x</ span >
701753< span class ="cline-any cline-yes "> 30x</ span >
754+ < span class ="cline-any cline-yes "> 30x</ span >
755+ < span class ="cline-any cline-yes "> 30x</ span >
756+ < span class ="cline-any cline-yes "> 90x</ span >
702757< span class ="cline-any cline-yes "> 90x</ span >
703758< span class ="cline-any cline-yes "> 90x</ span >
704759< span class ="cline-any cline-yes "> 90x</ span >
705760< span class ="cline-any cline-yes "> 90x</ span >
706761< span class ="cline-any cline-yes "> 90x</ span >
707762< span class ="cline-any cline-yes "> 90x</ span >
763+ < span class ="cline-any cline-yes "> 90x</ span >
764+ < span class ="cline-any cline-yes "> 90x</ span >
765+ < span class ="cline-any cline-yes "> 180x</ span >
708766< span class ="cline-any cline-yes "> 180x</ span >
709767< span class ="cline-any cline-yes "> 180x</ span >
710768< span class ="cline-any cline-yes "> 180x</ span >
@@ -879,7 +937,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
879937*
880938* @private
881939* @param {string} side - specifies whether `A` appears on the left or right of `B`
882- * @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied
940+ * @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` to be referenced
883941* @param {NonNegativeInteger} M - number of rows in the matrix `C`
884942* @param {NonNegativeInteger} N - number of columns in the matrix `C`
885943* @param {number} alpha - scalar constant
@@ -918,7 +976,12 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
918976 var sc0;
919977 var sc1;
920978 var oa2;
979+ var ob2;
921980 var idx;
981+ var ia1;
982+ var ia2;
983+ var ib;
984+ var ic;
922985 var oa;
923986 var ob;
924987 var i;
@@ -966,17 +1029,23 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
9661029 ( !isrma && side === 'right' && uplo === 'lower' )
9671030 ) {
9681031 for ( i = 0; i < M; i++ ) {
1032+ ia1 = oa + ( i * sa0 );
1033+ ia2 = oa + ( i * sa1 );
1034+ ic = offsetC + ( i * sc1 );
9691035 for ( j = 0; j < N; j++ ) {
1036+ ib = ob + ( j * sb0 );
9701037 tmp = 0.0;
9711038 for ( k = 0; k < i; k++ ) {
972- oa2 = A[ oa + ( k * sa1 ) + ( i * sa0 ) ];
973- tmp += oa2 * B[ ob + ( k * sb1 ) + ( j * sb0 ) ];
1039+ oa2 = ia1 + ( k * sa1 );
1040+ ob2 = ib + ( k * sb1 );
1041+ tmp += A[ oa2 ] * B[ ob2 ];
9741042 }
9751043 for ( k = i; k < M; k++ ) {
976- oa2 = A[ oa + ( i * sa1 ) + ( k * sa0 ) ];
977- tmp += oa2 * B[ ob + ( k * sb1 ) + ( j * sb0 ) ];
1044+ oa2 = ia2 + ( k * sa0 );
1045+ ob2 = ib + ( k * sb1 );
1046+ tmp += A[ oa2 ] * B[ ob2 ];
9781047 }
979- idx = offsetC + ( i * sc1 ) + ( j * sc0 );
1048+ idx = ic + ( j * sc0 );
9801049 C[ idx ] += alpha * tmp;
9811050 }
9821051 }
@@ -987,17 +1056,23 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
9871056 ( !isrma && side === 'right' && uplo === 'upper' )
9881057 ) {
9891058 for ( i = 0; i < M; i++ ) {
1059+ ia1 = oa + ( i * sa0 );
1060+ ia2 = oa + ( i * sa1 );
1061+ ic = offsetC + ( i * sc1 );
9901062 for ( j = 0; j < N; j++ ) {
1063+ ib = ob + ( j * sb0 );
9911064 tmp = 0.0;
9921065 for ( k = 0; k < i; k++ ) {
993- oa2 = A[ oa + ( i * sa1 ) + ( k * sa0 ) ];
994- tmp += oa2 * B[ ob + ( k * sb1 ) + ( j * sb0 ) ];
1066+ oa2 = ia2 + ( k * sa0 );
1067+ ob2 = ib + ( k * sb1 );
1068+ tmp += A[ oa2 ] * B[ ob2 ];
9951069 }
9961070 for ( k = i; k < M; k++ ) {
997- oa2 = A[ oa + ( k * sa1 ) + ( i * sa0 ) ];
998- tmp += oa2 * B[ ob + ( k * sb1 ) + ( j * sb0 ) ];
1071+ oa2 = ia1 + ( k * sa1 );
1072+ ob2 = ib + ( k * sb1 );
1073+ tmp += A[ oa2 ] * B[ ob2 ];
9991074 }
1000- idx = offsetC + ( i * sc1 ) + ( j * sc0 );
1075+ idx = ic + ( j * sc0 );
10011076 C[ idx ] += alpha * tmp;
10021077 }
10031078 }
@@ -1008,35 +1083,47 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
10081083 ( !isrma && side === 'left' && uplo === 'lower' )
10091084 ) {
10101085 for ( i = 0; i < M; i++ ) {
1086+ ib = ob + ( i * sb1 );
1087+ ic = offsetC + ( i * sc1 );
10111088 for ( j = 0; j < N; j++ ) {
1089+ ia1 = oa + ( j * sa0 );
1090+ ia2 = oa + ( j * sa1 );
10121091 tmp = 0.0;
10131092 for ( k = 0; k < j; k++ ) {
1014- oa2 = A[ oa + ( k * sa1 ) + ( j * sa0 ) ];
1015- tmp += B[ ob + ( i * sb1 ) + ( k * sb0 ) ] * oa2;
1093+ oa2 = ia1 + ( k * sa1 );
1094+ ob2 = ib + ( k * sb0 );
1095+ tmp += A[ oa2 ] * B[ ob2 ];
10161096 }
10171097 for ( k = j; k < N; k++ ) {
1018- oa2 = A[ oa + ( j * sa1 ) + ( k * sa0 ) ];
1019- tmp += B[ ob + ( i * sb1 ) + ( k * sb0 ) ] * oa2;
1098+ oa2 = ia2 + ( k * sa0 );
1099+ ob2 = ib + ( k * sb0 );
1100+ tmp += A[ oa2 ] * B[ ob2 ];
10201101 }
1021- idx = offsetC + ( i * sc1 ) + ( j * sc0 );
1102+ idx = ic + ( j * sc0 );
10221103 C[ idx ] += alpha * tmp;
10231104 }
10241105 }
10251106 return C;
10261107 }
10271108 // ( isrma && side === 'right' && uplo === 'lower' ) || ( !isrma && side === 'left' && uplo === 'upper' )
10281109 for ( i = 0; i < M; i++ ) {
1110+ ib = ob + ( i * sb1 );
1111+ ic = offsetC + ( i * sc1 );
10291112 for ( j = 0; j < N; j++ ) {
1113+ ia1 = oa + ( j * sa0 );
1114+ ia2 = oa + ( j * sa1 );
10301115 tmp = 0.0;
10311116 for ( k = 0; k < j; k++ ) {
1032- oa2 = A[ oa + ( j * sa1 ) + ( k * sa0 ) ];
1033- tmp += B[ ob + ( i * sb1 ) + ( k * sb0 ) ] * oa2;
1117+ oa2 = ia2 + ( k * sa0 );
1118+ ob2 = ib + ( k * sb0 );
1119+ tmp += A[ oa2 ] * B[ ob2 ];
10341120 }
10351121 for ( k = j; k < N; k++ ) {
1036- oa2 = A[ oa + ( k * sa1 ) + ( j * sa0 ) ];
1037- tmp += B[ ob + ( i * sb1 ) + ( k * sb0 ) ] * oa2;
1122+ oa2 = ia1 + ( k * sa1 );
1123+ ob2 = ib + ( k * sb0 );
1124+ tmp += A[ oa2 ] * B[ ob2 ];
10381125 }
1039- idx = offsetC + ( i * sc1 ) + ( j * sc0 );
1126+ idx = ic + ( j * sc0 );
10401127 C[ idx ] += alpha * tmp;
10411128 }
10421129 }
@@ -1054,7 +1141,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
10541141 < div class ='footer quiet pad2 space-top1 center small '>
10551142 Code coverage generated by
10561143 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
1057- at 2025-06-19T04:46:54.235Z
1144+ at 2025-08-04T18:23:41.990Z
10581145 </ div >
10591146 < script src ="../../../../prettify.js "> </ script >
10601147 < script >
0 commit comments