@@ -25,14 +25,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
25
25
< div class ='fl pad1y space-right2 '>
26
26
< span class ="strong "> 100% </ span >
27
27
< span class ="quiet "> Statements</ span >
28
- < span class ='fraction '> 119/119 </ span >
28
+ < span class ='fraction '> 131/131 </ span >
29
29
</ div >
30
30
31
31
32
32
< div class ='fl pad1y space-right2 '>
33
33
< span class ="strong "> 100% </ span >
34
34
< span class ="quiet "> Branches</ span >
35
- < span class ='fraction '> 24/24 </ span >
35
+ < span class ='fraction '> 29/29 </ span >
36
36
</ div >
37
37
38
38
@@ -46,7 +46,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
46
46
< div class ='fl pad1y space-right2 '>
47
47
< span class ="strong "> 100% </ span >
48
48
< span class ="quiet "> Lines</ span >
49
- < span class ='fraction '> 119/119 </ span >
49
+ < span class ='fraction '> 131/131 </ span >
50
50
</ div >
51
51
52
52
@@ -182,7 +182,19 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
182
182
< a name ='L117 '> </ a > < a href ='#L117 '> 117</ a >
183
183
< a name ='L118 '> </ a > < a href ='#L118 '> 118</ a >
184
184
< 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 >
186
198
< span class ="cline-any cline-yes "> 2x</ span >
187
199
< span class ="cline-any cline-yes "> 2x</ span >
188
200
< 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
248
260
< span class ="cline-any cline-yes "> 2x</ span >
249
261
< span class ="cline-any cline-yes "> 2x</ span >
250
262
< 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 >
260
276
< span class ="cline-any cline-yes "> 4x</ span >
261
277
< 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 >
263
279
< span class ="cline-any cline-yes "> 4x</ span >
264
280
< 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 >
266
282
< span class ="cline-any cline-yes "> 3x</ span >
267
283
< 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 >
269
285
< span class ="cline-any cline-yes "> 3x</ span >
270
286
< 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 >
272
296
< span class ="cline-any cline-yes "> 1x</ span >
273
297
< 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 >
275
299
< span class ="cline-any cline-yes "> 1x</ span >
276
300
< span class ="cline-any cline-yes "> 1x</ span >
277
301
< 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 >
279
303
< span class ="cline-any cline-yes "> 6x</ span >
280
304
< 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 >
282
306
< span class ="cline-any cline-yes "> 10x</ span >
283
307
< 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 >
285
309
< span class ="cline-any cline-yes "> 6x</ span >
286
310
< span class ="cline-any cline-yes "> 6x</ span >
287
311
< span class ="cline-any cline-yes "> 6x</ span >
288
312
< span class ="cline-any cline-yes "> 16x</ span >
289
313
< 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 >
291
315
< span class ="cline-any cline-yes "> 8x</ span >
292
316
< span class ="cline-any cline-yes "> 8x</ span >
293
317
< span class ="cline-any cline-yes "> 8x</ span >
294
318
< span class ="cline-any cline-yes "> 8x</ span >
295
319
< span class ="cline-any cline-yes "> 8x</ span >
296
320
< span class ="cline-any cline-yes "> 8x</ span >
297
321
< 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 >
299
323
< span class ="cline-any cline-yes "> 2x</ span >
300
324
< span class ="cline-any cline-yes "> 2x</ span >
301
325
< 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
323
347
324
348
// MODULES //
325
349
350
+ var max = require( '@stdlib/math/base/special/fast/max' );
326
351
var stride2offset = require( '@stdlib/strided/base/stride2offset' );
327
352
var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
328
353
var 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
368
393
* // y => <Float32Array>[ 7.0, 16.0 ]
369
394
*/
370
395
function 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;
371
398
var xlen;
372
399
var ylen;
373
400
var sa1;
374
401
var sa2;
375
402
var ox;
376
403
var oy;
377
404
405
+ iscm = isColumnMajor( order );
378
406
if ( !isLayout( order ) ) {
379
407
throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
380
408
}
@@ -387,6 +415,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
387
415
if ( N < 0 ) {
388
416
throw new RangeError( format( 'invalid argument. Fourth argument must be a nonnegative integer. Value: `%d`.', N ) );
389
417
}
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
+ }
390
426
if ( strideX === 0 ) {
391
427
throw new RangeError( format( 'invalid argument. Ninth argument must be non-zero.' ) );
392
428
}
@@ -406,7 +442,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
406
442
}
407
443
ox = stride2offset( xlen, strideX );
408
444
oy = stride2offset( ylen, strideY );
409
- if ( isColumnMajor( order ) ) {
445
+ if ( iscm ) {
410
446
sa1 = 1;
411
447
sa2 = LDA;
412
448
} else { // order === 'row-major'
@@ -427,7 +463,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
427
463
< div class ='footer quiet pad2 space-top1 center small '>
428
464
Code coverage generated by
429
465
< a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
430
- at 2025-05-08T02:23:54.682Z
466
+ at 2025-06-07T06:20:32.755Z
431
467
</ div >
432
468
< script src ="../../../../prettify.js "> </ script >
433
469
< script >
0 commit comments