@@ -25,14 +25,14 @@ <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 '> 119/119 </ span >
28+ < span class ='fraction '> 131/131 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
3333 < span class ="strong "> 100% </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 24/24 </ span >
35+ < span class ='fraction '> 29/29 </ span >
3636 </ div >
3737
3838
@@ -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 '> 119/119 </ span >
49+ < span class ='fraction '> 131/131 </ span >
5050 </ div >
5151
5252
@@ -182,7 +182,19 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
182182< a name ='L117 '> </ a > < a href ='#L117 '> 117</ a >
183183< a name ='L118 '> </ a > < a href ='#L118 '> 118</ a >
184184< a name ='L119 '> </ a > < a href ='#L119 '> 119</ a >
185- < a name ='L120 '> </ a > < a href ='#L120 '> 120</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
185+ < a name ='L120 '> </ a > < a href ='#L120 '> 120</ a >
186+ < a name ='L121 '> </ a > < a href ='#L121 '> 121</ a >
187+ < a name ='L122 '> </ a > < a href ='#L122 '> 122</ a >
188+ < a name ='L123 '> </ a > < a href ='#L123 '> 123</ a >
189+ < a name ='L124 '> </ a > < a href ='#L124 '> 124</ a >
190+ < a name ='L125 '> </ a > < a href ='#L125 '> 125</ a >
191+ < a name ='L126 '> </ a > < a href ='#L126 '> 126</ a >
192+ < a name ='L127 '> </ a > < a href ='#L127 '> 127</ a >
193+ < 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 "> 2x</ span >
186198< span class ="cline-any cline-yes "> 2x</ span >
187199< span class ="cline-any cline-yes "> 2x</ span >
188200< span class ="cline-any cline-yes "> 2x</ span >
@@ -248,54 +260,66 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
248260< span class ="cline-any cline-yes "> 2x</ span >
249261< span class ="cline-any cline-yes "> 2x</ span >
250262< span class ="cline-any cline-yes "> 2x</ span >
251- < span class ="cline-any cline-yes "> 38x</ span >
252- < span class ="cline-any cline-yes "> 38x</ span >
253- < span class ="cline-any cline-yes "> 38x</ span >
254- < span class ="cline-any cline-yes "> 38x</ span >
255- < span class ="cline-any cline-yes "> 38x</ span >
256- < span class ="cline-any cline-yes "> 38x</ span >
257- < span class ="cline-any cline-yes "> 38x</ span >
258- < span class ="cline-any cline-yes "> 38x</ span >
259- < span class ="cline-any cline-yes "> 38x</ span >
263+ < span class ="cline-any cline-yes "> 2x</ span >
264+ < span class ="cline-any cline-yes "> 43x</ span >
265+ < span class ="cline-any cline-yes "> 43x</ span >
266+ < span class ="cline-any cline-yes "> 43x</ span >
267+ < span class ="cline-any cline-yes "> 43x</ span >
268+ < span class ="cline-any cline-yes "> 43x</ span >
269+ < span class ="cline-any cline-yes "> 43x</ span >
270+ < span class ="cline-any cline-yes "> 43x</ span >
271+ < span class ="cline-any cline-yes "> 43x</ span >
272+ < span class ="cline-any cline-yes "> 43x</ span >
273+ < span class ="cline-any cline-yes "> 43x</ span >
274+ < span class ="cline-any cline-yes "> 43x</ span >
275+ < span class ="cline-any cline-yes "> 43x</ span >
260276< span class ="cline-any cline-yes "> 4x</ span >
261277< span class ="cline-any cline-yes "> 4x</ span >
262- < span class ="cline-any cline-yes "> 38x </ span >
278+ < span class ="cline-any cline-yes "> 43x </ span >
263279< span class ="cline-any cline-yes "> 4x</ span >
264280< span class ="cline-any cline-yes "> 4x</ span >
265- < span class ="cline-any cline-yes "> 38x </ span >
281+ < span class ="cline-any cline-yes "> 43x </ span >
266282< span class ="cline-any cline-yes "> 3x</ span >
267283< span class ="cline-any cline-yes "> 3x</ span >
268- < span class ="cline-any cline-yes "> 38x </ span >
284+ < span class ="cline-any cline-yes "> 43x </ span >
269285< span class ="cline-any cline-yes "> 3x</ span >
270286< span class ="cline-any cline-yes "> 3x</ span >
271- < span class ="cline-any cline-yes "> 38x</ span >
287+ < span class ="cline-any cline-yes "> 43x</ span >
288+ < span class ="cline-any cline-yes "> 11x</ span >
289+ < span class ="cline-any cline-yes "> 43x</ span >
290+ < span class ="cline-any cline-yes "> 18x</ span >
291+ < span class ="cline-any cline-yes "> 18x</ span >
292+ < span class ="cline-any cline-yes "> 43x</ span >
293+ < span class ="cline-any cline-yes "> 5x</ span >
294+ < span class ="cline-any cline-yes "> 5x</ span >
295+ < span class ="cline-any cline-yes "> 43x</ span >
272296< span class ="cline-any cline-yes "> 1x</ span >
273297< span class ="cline-any cline-yes "> 1x</ span >
274- < span class ="cline-any cline-yes "> 38x </ span >
298+ < span class ="cline-any cline-yes "> 43x </ span >
275299< span class ="cline-any cline-yes "> 1x</ span >
276300< span class ="cline-any cline-yes "> 1x</ span >
277301< span class ="cline-any cline-yes "> 22x</ span >
278- < span class ="cline-any cline-yes "> 38x </ span >
302+ < span class ="cline-any cline-yes "> 43x </ span >
279303< span class ="cline-any cline-yes "> 6x</ span >
280304< span class ="cline-any cline-yes "> 6x</ span >
281- < span class ="cline-any cline-yes "> 38x </ span >
305+ < span class ="cline-any cline-yes "> 43x </ span >
282306< span class ="cline-any cline-yes "> 10x</ span >
283307< span class ="cline-any cline-yes "> 10x</ span >
284- < span class ="cline-any cline-yes "> 38x </ span >
308+ < span class ="cline-any cline-yes "> 43x </ span >
285309< span class ="cline-any cline-yes "> 6x</ span >
286310< span class ="cline-any cline-yes "> 6x</ span >
287311< span class ="cline-any cline-yes "> 6x</ span >
288312< span class ="cline-any cline-yes "> 16x</ span >
289313< span class ="cline-any cline-yes "> 16x</ span >
290- < span class ="cline-any cline-yes "> 38x </ span >
314+ < span class ="cline-any cline-yes "> 43x </ span >
291315< span class ="cline-any cline-yes "> 8x</ span >
292316< span class ="cline-any cline-yes "> 8x</ span >
293317< span class ="cline-any cline-yes "> 8x</ span >
294318< span class ="cline-any cline-yes "> 8x</ span >
295319< span class ="cline-any cline-yes "> 8x</ span >
296320< span class ="cline-any cline-yes "> 8x</ span >
297321< span class ="cline-any cline-yes "> 16x</ span >
298- < span class ="cline-any cline-yes "> 38x </ span >
322+ < span class ="cline-any cline-yes "> 43x </ span >
299323< span class ="cline-any cline-yes "> 2x</ span >
300324< span class ="cline-any cline-yes "> 2x</ span >
301325< span class ="cline-any cline-yes "> 2x</ span >
@@ -323,6 +347,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
323347
324348// MODULES //
325349
350+ var max = require( '@stdlib/math/base/special/fast/max' );
326351var stride2offset = require( '@stdlib/strided/base/stride2offset' );
327352var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
328353var isMatrixTranspose = require( '@stdlib/blas/base/assert/is-transpose-operation' );
@@ -368,13 +393,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
368393* // y => <Float32Array>[ 7.0, 16.0 ]
369394*/
370395function sgemv( order, trans, M, N, alpha, A, LDA, x, strideX, beta, y, strideY ) { // eslint-disable-line max-params, max-len
396+ var iscm;
397+ var vala;
371398 var xlen;
372399 var ylen;
373400 var sa1;
374401 var sa2;
375402 var ox;
376403 var oy;
377404
405+ iscm = isColumnMajor( order );
378406 if ( !isLayout( order ) ) {
379407 throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
380408 }
@@ -387,6 +415,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
387415 if ( N < 0 ) {
388416 throw new RangeError( format( 'invalid argument. Fourth argument must be a nonnegative integer. Value: `%d`.', N ) );
389417 }
418+ if ( iscm ) {
419+ vala = M;
420+ } else {
421+ vala = N;
422+ }
423+ if ( LDA < max( 1, vala ) ) {
424+ throw new RangeError( format( 'invalid argument. Seventh argument must be greater than or equal to max(1,%d). Value: `%d`.', vala, LDA ) );
425+ }
390426 if ( strideX === 0 ) {
391427 throw new RangeError( format( 'invalid argument. Ninth argument must be non-zero.' ) );
392428 }
@@ -406,7 +442,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
406442 }
407443 ox = stride2offset( xlen, strideX );
408444 oy = stride2offset( ylen, strideY );
409- if ( isColumnMajor( order ) ) {
445+ if ( iscm ) {
410446 sa1 = 1;
411447 sa2 = LDA;
412448 } else { // order === 'row-major'
@@ -427,7 +463,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
427463 < div class ='footer quiet pad2 space-top1 center small '>
428464 Code coverage generated by
429465 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
430- at 2025-05-31T11:13:23.484Z
466+ at 2025-06-30T10:22:15.313Z
431467 </ div >
432468 < script src ="../../../../prettify.js "> </ script >
433469 < script >
0 commit comments