@@ -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 '> 331/331 </ span >
28+ < span class ='fraction '> 362/362 </ 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 '> 331/331 </ span >
49+ < span class ='fraction '> 362/362 </ span >
5050 </ div >
5151
5252
@@ -394,7 +394,39 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
394394< a name ='L329 '> </ a > < a href ='#L329 '> 329</ a >
395395< a name ='L330 '> </ a > < a href ='#L330 '> 330</ a >
396396< a name ='L331 '> </ a > < a href ='#L331 '> 331</ a >
397- < a name ='L332 '> </ a > < a href ='#L332 '> 332</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
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 >
424+ < a name ='L359 '> </ a > < a href ='#L359 '> 359</ a >
425+ < a name ='L360 '> </ a > < a href ='#L360 '> 360</ a >
426+ < a name ='L361 '> </ a > < a href ='#L361 '> 361</ a >
427+ < a name ='L362 '> </ a > < a href ='#L362 '> 362</ a >
428+ < a name ='L363 '> </ a > < a href ='#L363 '> 363</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
429+ < span class ="cline-any cline-yes "> 3x</ span >
398430< span class ="cline-any cline-yes "> 3x</ span >
399431< span class ="cline-any cline-yes "> 3x</ span >
400432< span class ="cline-any cline-yes "> 3x</ span >
@@ -473,6 +505,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
473505< span class ="cline-any cline-yes "> 3x</ span >
474506< span class ="cline-any cline-yes "> 2x</ span >
475507< span class ="cline-any cline-yes "> 6x</ span >
508+ < span class ="cline-any cline-yes "> 6x</ span >
476509< span class ="cline-any cline-yes "> 12x</ span >
477510< span class ="cline-any cline-yes "> 12x</ span >
478511< span class ="cline-any cline-yes "> 12x</ span >
@@ -482,6 +515,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
482515< span class ="cline-any cline-yes "> 1x</ span >
483516< span class ="cline-any cline-yes "> 2x</ span >
484517< span class ="cline-any cline-yes "> 3x</ span >
518+ < span class ="cline-any cline-yes "> 3x</ span >
485519< span class ="cline-any cline-yes "> 6x</ span >
486520< span class ="cline-any cline-yes "> 6x</ span >
487521< span class ="cline-any cline-yes "> 6x</ span >
@@ -529,6 +563,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
529563< span class ="cline-any cline-yes "> 3x</ span >
530564< span class ="cline-any cline-yes "> 3x</ span >
531565< span class ="cline-any cline-yes "> 3x</ span >
566+ < span class ="cline-any cline-yes "> 3x</ span >
532567< span class ="cline-any cline-yes "> 2x</ span >
533568< span class ="cline-any cline-yes "> 2x</ span >
534569< span class ="cline-any cline-yes "> 2x</ span >
@@ -540,6 +575,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
540575< span class ="cline-any cline-yes "> 3x</ span >
541576< span class ="cline-any cline-yes "> 2x</ span >
542577< span class ="cline-any cline-yes "> 6x</ span >
578+ < span class ="cline-any cline-yes "> 6x</ span >
543579< span class ="cline-any cline-yes "> 12x</ span >
544580< span class ="cline-any cline-yes "> 12x</ span >
545581< span class ="cline-any cline-yes "> 12x</ span >
@@ -549,6 +585,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
549585< span class ="cline-any cline-yes "> 1x</ span >
550586< span class ="cline-any cline-yes "> 2x</ span >
551587< span class ="cline-any cline-yes "> 3x</ span >
588+ < span class ="cline-any cline-yes "> 3x</ span >
552589< span class ="cline-any cline-yes "> 6x</ span >
553590< span class ="cline-any cline-yes "> 6x</ span >
554591< span class ="cline-any cline-yes "> 6x</ span >
@@ -616,6 +653,11 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
616653< span class ="cline-any cline-yes "> 74x</ span >
617654< span class ="cline-any cline-yes "> 74x</ span >
618655< span class ="cline-any cline-yes "> 74x</ span >
656+ < span class ="cline-any cline-yes "> 74x</ span >
657+ < span class ="cline-any cline-yes "> 74x</ span >
658+ < span class ="cline-any cline-yes "> 74x</ span >
659+ < span class ="cline-any cline-yes "> 74x</ span >
660+ < span class ="cline-any cline-yes "> 74x</ span >
619661< span class ="cline-any cline-yes "> 9x</ span >
620662< span class ="cline-any cline-yes "> 9x</ span >
621663< span class ="cline-any cline-yes "> 74x</ span >
@@ -649,6 +691,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
649691< span class ="cline-any cline-yes "> 74x</ span >
650692< span class ="cline-any cline-yes "> 18x</ span >
651693< span class ="cline-any cline-yes "> 54x</ span >
694+ < span class ="cline-any cline-yes "> 54x</ span >
652695< span class ="cline-any cline-yes "> 108x</ span >
653696< span class ="cline-any cline-yes "> 108x</ span >
654697< span class ="cline-any cline-yes "> 324x</ span >
@@ -657,6 +700,10 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
657700< span class ="cline-any cline-yes "> 324x</ span >
658701< span class ="cline-any cline-yes "> 324x</ span >
659702< span class ="cline-any cline-yes "> 324x</ span >
703+ < span class ="cline-any cline-yes "> 324x</ span >
704+ < span class ="cline-any cline-yes "> 324x</ span >
705+ < span class ="cline-any cline-yes "> 324x</ span >
706+ < span class ="cline-any cline-yes "> 324x</ span >
660707< span class ="cline-any cline-yes "> 108x</ span >
661708< span class ="cline-any cline-yes "> 108x</ span >
662709< span class ="cline-any cline-yes "> 108x</ span >
@@ -669,6 +716,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
669716< span class ="cline-any cline-yes "> 74x</ span >
670717< span class ="cline-any cline-yes "> 16x</ span >
671718< span class ="cline-any cline-yes "> 48x</ span >
719+ < span class ="cline-any cline-yes "> 48x</ span >
672720< span class ="cline-any cline-yes "> 96x</ span >
673721< span class ="cline-any cline-yes "> 96x</ span >
674722< span class ="cline-any cline-yes "> 288x</ span >
@@ -677,6 +725,10 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
677725< span class ="cline-any cline-yes "> 288x</ span >
678726< span class ="cline-any cline-yes "> 288x</ span >
679727< span class ="cline-any cline-yes "> 288x</ span >
728+ < span class ="cline-any cline-yes "> 288x</ span >
729+ < span class ="cline-any cline-yes "> 288x</ span >
730+ < span class ="cline-any cline-yes "> 288x</ span >
731+ < span class ="cline-any cline-yes "> 288x</ span >
680732< span class ="cline-any cline-yes "> 96x</ span >
681733< span class ="cline-any cline-yes "> 96x</ span >
682734< span class ="cline-any cline-yes "> 96x</ span >
@@ -689,6 +741,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
689741< span class ="cline-any cline-yes "> 74x</ span >
690742< span class ="cline-any cline-yes "> 11x</ span >
691743< span class ="cline-any cline-yes "> 33x</ span >
744+ < span class ="cline-any cline-yes "> 33x</ span >
692745< span class ="cline-any cline-yes "> 66x</ span >
693746< span class ="cline-any cline-yes "> 66x</ span >
694747< span class ="cline-any cline-yes "> 198x</ span >
@@ -697,6 +750,10 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
697750< span class ="cline-any cline-yes "> 198x</ span >
698751< span class ="cline-any cline-yes "> 198x</ span >
699752< span class ="cline-any cline-yes "> 198x</ span >
753+ < span class ="cline-any cline-yes "> 198x</ span >
754+ < span class ="cline-any cline-yes "> 198x</ span >
755+ < span class ="cline-any cline-yes "> 198x</ span >
756+ < span class ="cline-any cline-yes "> 198x</ span >
700757< span class ="cline-any cline-yes "> 66x</ span >
701758< span class ="cline-any cline-yes "> 66x</ span >
702759< span class ="cline-any cline-yes "> 66x</ span >
@@ -706,6 +763,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
706763< span class ="cline-any cline-yes "> 14x</ span >
707764< span class ="cline-any cline-yes "> 74x</ span >
708765< span class ="cline-any cline-yes "> 42x</ span >
766+ < span class ="cline-any cline-yes "> 42x</ span >
709767< span class ="cline-any cline-yes "> 84x</ span >
710768< span class ="cline-any cline-yes "> 84x</ span >
711769< span class ="cline-any cline-yes "> 252x</ span >
@@ -714,6 +772,10 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
714772< span class ="cline-any cline-yes "> 252x</ span >
715773< span class ="cline-any cline-yes "> 252x</ span >
716774< span class ="cline-any cline-yes "> 252x</ span >
775+ < span class ="cline-any cline-yes "> 252x</ span >
776+ < span class ="cline-any cline-yes "> 252x</ span >
777+ < span class ="cline-any cline-yes "> 252x</ span >
778+ < span class ="cline-any cline-yes "> 252x</ span >
717779< span class ="cline-any cline-yes "> 84x</ span >
718780< span class ="cline-any cline-yes "> 84x</ span >
719781< span class ="cline-any cline-yes "> 84x</ span >
@@ -789,6 +851,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
789851 var x1;
790852 var i1;
791853 var i0;
854+ var ix;
792855
793856 isrm = isRowMajor( [ strideX1, strideX2 ] );
794857
@@ -803,17 +866,19 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
803866 ( isrm && uplo === 'upper' ) || ( !isrm && uplo === 'lower' )
804867 ) {
805868 for ( i1 = 0; i1 < N; i1++ ) {
869+ ix = offsetX + ( i1 * x1 );
806870 for ( i0 = i1; i0 < N; i0++ ) {
807- idx = offsetX + ( i1 * x1 ) + ( i0 * x0 );
871+ idx = ix + ( i0 * x0 );
808872 X[ idx ] = 0.0;
809873 }
810874 }
811875 return X;
812876 }
813877 // ( isrm && uplo === 'lower' ) || ( !isrm && uplo === 'upper' )
814878 for ( i1 = 0; i1 < N; i1++ ) {
879+ ix = offsetX + ( i1 * x1 );
815880 for ( i0 = 0; i0 <= i1; i0++ ) {
816- idx = offsetX + ( i1 * x1 ) + ( i0 * x0 );
881+ idx = ix + ( i0 * x0 );
817882 X[ idx ] = 0.0;
818883 }
819884 }
@@ -856,6 +921,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
856921 var x1;
857922 var i1;
858923 var i0;
924+ var ix;
859925
860926 isrm = isRowMajor( [ strideX1, strideX2 ] );
861927
@@ -870,17 +936,19 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
870936 ( isrm && uplo === 'upper' ) || ( !isrm && uplo === 'lower' )
871937 ) {
872938 for ( i1 = 0; i1 < N; i1++ ) {
939+ ix = offsetX + ( i1 * x1 );
873940 for ( i0 = i1; i0 < N; i0++ ) {
874- idx = offsetX + ( i1 * x1 ) + ( i0 * x0 );
941+ idx = ix + ( i0 * x0 );
875942 X[ idx ] *= beta;
876943 }
877944 }
878945 return X;
879946 }
880947 // ( isrm && uplo === 'lower' ) || ( !isrm && uplo === 'upper' )
881948 for ( i1 = 0; i1 < N; i1++ ) {
949+ ix = offsetX + ( i1 * x1 );
882950 for ( i0 = 0; i0 <= i1; i0++ ) {
883- idx = offsetX + ( i1 * x1 ) + ( i0 * x0 );
951+ idx = ix + ( i0 * x0 );
884952 X[ idx ] *= beta;
885953 }
886954 }
@@ -926,6 +994,8 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
926994*/
927995function dsyr2k( uplo, trans, N, K, alpha, A, strideA1, strideA2, offsetA, B, strideB1, strideB2, offsetB, beta, C, strideC1, strideC2, offsetC ) {
928996 var isrma;
997+ var tmp1;
998+ var tmp2;
929999 var sa0;
9301000 var sa1;
9311001 var sb0;
@@ -940,9 +1010,12 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
9401010 var tmp;
9411011 var oa;
9421012 var ob;
1013+ var oc;
9431014 var i2;
9441015 var i1;
9451016 var i0;
1017+ var ia;
1018+ var ib;
9461019
9471020 isrma = isRowMajor( [ strideA1, strideA2 ] );
9481021
@@ -979,16 +1052,21 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
9791052 ( !isrma && trans !== 'no-transpose' && uplo === 'lower' )
9801053 ) {
9811054 for ( i2 = 0; i2 < N; i2++ ) {
1055+ oc = offsetC + ( i2 * sc1 );
9821056 for ( i1 = i2; i1 < N; i1++ ) {
9831057 tmp = 0.0;
9841058 for ( i0 = 0; i0 < K; i0++ ) {
985- oa1 = oa + ( i2 * sa1 ) + ( i0 * sa0 );
986- ob1 = ob + ( i1 * sb1 ) + ( i0 * sb0 );
987- ob2 = ob + ( i2 * sb1 ) + ( i0 * sb0 );
988- oa2 = oa + ( i1 * sa1 ) + ( i0 * sa0 );
989- tmp += ( A[ oa1 ] * B[ ob1 ] ) + ( B[ ob2 ] * A[ oa2 ] );
1059+ ia = oa + ( i0 * sa0 );
1060+ ib = ob + ( i0 * sb0 );
1061+ oa1 = ia + ( i2 * sa1 );
1062+ ob1 = ib + ( i1 * sb1 );
1063+ oa2 = ia + ( i1 * sa1 );
1064+ ob2 = ib + ( i2 * sb1 );
1065+ tmp1 = A[ oa1 ] * B[ ob1 ];
1066+ tmp2 = A[ oa2 ] * B[ ob2 ];
1067+ tmp += ( tmp1 + tmp2 );
9901068 }
991- idx = offsetC + ( i2 * sc1 ) + ( i1 * sc0 );
1069+ idx = oc + ( i1 * sc0 );
9921070 C[ idx ] += alpha * tmp;
9931071 }
9941072 }
@@ -999,16 +1077,21 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
9991077 ( !isrma && trans !== 'no-transpose' && uplo === 'upper' )
10001078 ) {
10011079 for ( i2 = 0; i2 < N; i2++ ) {
1080+ oc = offsetC + ( i2 * sc1 );
10021081 for ( i1 = 0; i1 <= i2; i1++ ) {
10031082 tmp = 0.0;
10041083 for ( i0 = 0; i0 < K; i0++ ) {
1005- oa1 = oa + ( i2 * sa1 ) + ( i0 * sa0 );
1006- ob1 = ob + ( i1 * sb1 ) + ( i0 * sb0 );
1007- ob2 = ob + ( i2 * sb1 ) + ( i0 * sb0 );
1008- oa2 = oa + ( i1 * sa1 ) + ( i0 * sa0 );
1009- tmp += ( A[ oa1 ] * B[ ob1 ] ) + ( B[ ob2 ] * A[ oa2 ] );
1084+ ia = oa + ( i0 * sa0 );
1085+ ib = ob + ( i0 * sb0 );
1086+ oa1 = ia + ( i2 * sa1 );
1087+ ob1 = ib + ( i1 * sb1 );
1088+ oa2 = ia + ( i1 * sa1 );
1089+ ob2 = ib + ( i2 * sb1 );
1090+ tmp1 = A[ oa1 ] * B[ ob1 ];
1091+ tmp2 = A[ oa2 ] * B[ ob2 ];
1092+ tmp += ( tmp1 + tmp2 );
10101093 }
1011- idx = offsetC + ( i2 * sc1 ) + ( i1 * sc0 );
1094+ idx = oc + ( i1 * sc0 );
10121095 C[ idx ] += alpha * tmp;
10131096 }
10141097 }
@@ -1019,33 +1102,43 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
10191102 ( !isrma && trans === 'no-transpose' && uplo === 'lower' )
10201103 ) {
10211104 for ( i2 = 0; i2 < N; i2++ ) {
1105+ oc = offsetC + ( i2 * sc1 );
10221106 for ( i1 = i2; i1 < N; i1++ ) {
10231107 tmp = 0.0;
10241108 for ( i0 = 0; i0 < K; i0++ ) {
1025- oa1 = oa + ( i0 * sa1 ) + ( i2 * sa0 );
1026- ob1 = ob + ( i0 * sb1 ) + ( i1 * sb0 );
1027- ob2 = ob + ( i0 * sb1 ) + ( i2 * sb0 );
1028- oa2 = oa + ( i0 * sa1 ) + ( i1 * sa0 );
1029- tmp += ( A[ oa1 ] * B[ ob1 ] ) + ( B[ ob2 ] * A[ oa2 ] );
1109+ ia = oa + ( i0 * sa1 );
1110+ ib = ob + ( i0 * sb1 );
1111+ oa1 = ia + ( i2 * sa0 );
1112+ ob1 = ib + ( i1 * sb0 );
1113+ oa2 = ia + ( i1 * sa0 );
1114+ ob2 = ib + ( i2 * sb0 );
1115+ tmp1 = A[ oa1 ] * B[ ob1 ];
1116+ tmp2 = A[ oa2 ] * B[ ob2 ];
1117+ tmp += tmp1 + tmp2;
10301118 }
1031- idx = offsetC + ( i2 * sc1 ) + ( i1 * sc0 );
1119+ idx = oc + ( i1 * sc0 );
10321120 C[ idx ] += alpha * tmp;
10331121 }
10341122 }
10351123 return C;
10361124 }
10371125 // ( isrma && trans !== 'no-transpose' && uplo === 'lower' ) || ( !isrma && trans === 'no-transpose' && uplo === 'upper' )
10381126 for ( i2 = 0; i2 < N; i2++ ) {
1127+ oc = offsetC + ( i2 * sc1 );
10391128 for ( i1 = 0; i1 <= i2; i1++ ) {
10401129 tmp = 0.0;
10411130 for ( i0 = 0; i0 < K; i0++ ) {
1042- oa1 = oa + ( i0 * sa1 ) + ( i2 * sa0 );
1043- ob1 = ob + ( i0 * sb1 ) + ( i1 * sb0 );
1044- ob2 = ob + ( i0 * sb1 ) + ( i2 * sb0 );
1045- oa2 = oa + ( i0 * sa1 ) + ( i1 * sa0 );
1046- tmp += ( A[ oa1 ] * B[ ob1 ] ) + ( B[ ob2 ] * A[ oa2 ] );
1131+ ia = oa + ( i0 * sa1 );
1132+ ib = ob + ( i0 * sb1 );
1133+ oa1 = ia + ( i2 * sa0 );
1134+ ob1 = ib + ( i1 * sb0 );
1135+ oa2 = ia + ( i1 * sa0 );
1136+ ob2 = ib + ( i2 * sb0 );
1137+ tmp1 = A[ oa1 ] * B[ ob1 ];
1138+ tmp2 = A[ oa2 ] * B[ ob2 ];
1139+ tmp += tmp1 + tmp2;
10471140 }
1048- idx = offsetC + ( i2 * sc1 ) + ( i1 * sc0 );
1141+ idx = oc + ( i1 * sc0 );
10491142 C[ idx ] += alpha * tmp;
10501143 }
10511144 }
@@ -1063,7 +1156,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
10631156 < div class ='footer quiet pad2 space-top1 center small '>
10641157 Code coverage generated by
10651158 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
1066- at 2025-08-03T11:19:44.933Z
1159+ at 2025-08-03T11:59:02.959Z
10671160 </ div >
10681161 < script src ="../../../../prettify.js "> </ script >
10691162 < script >
0 commit comments