@@ -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 "> 100 % </ span >
26+ < span class ="strong "> 98.26 % </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 101/101 </ span >
28+ < span class ='fraction '> 113/115 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
33- < span class ="strong "> 100 % </ span >
33+ < span class ="strong "> 95.45 % </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 18/18 </ span >
35+ < span class ='fraction '> 21/22 </ 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 "> 100 % </ span >
47+ < span class ="strong "> 98.26 % </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 101/101 </ span >
49+ < span class ='fraction '> 113/115 </ span >
5050 </ div >
5151
5252
@@ -164,7 +164,24 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
164164< a name ='L99 '> </ a > < a href ='#L99 '> 99</ a >
165165< a name ='L100 '> </ a > < a href ='#L100 '> 100</ a >
166166< a name ='L101 '> </ a > < a href ='#L101 '> 101</ a >
167- < a name ='L102 '> </ a > < a href ='#L102 '> 102</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
167+ < a name ='L102 '> </ a > < a href ='#L102 '> 102</ a >
168+ < a name ='L103 '> </ a > < a href ='#L103 '> 103</ a >
169+ < a name ='L104 '> </ a > < a href ='#L104 '> 104</ a >
170+ < a name ='L105 '> </ a > < a href ='#L105 '> 105</ a >
171+ < a name ='L106 '> </ a > < a href ='#L106 '> 106</ a >
172+ < a name ='L107 '> </ a > < a href ='#L107 '> 107</ a >
173+ < a name ='L108 '> </ a > < a href ='#L108 '> 108</ a >
174+ < a name ='L109 '> </ a > < a href ='#L109 '> 109</ a >
175+ < a name ='L110 '> </ a > < a href ='#L110 '> 110</ a >
176+ < a name ='L111 '> </ a > < a href ='#L111 '> 111</ a >
177+ < a name ='L112 '> </ a > < a href ='#L112 '> 112</ a >
178+ < a name ='L113 '> </ a > < a href ='#L113 '> 113</ a >
179+ < a name ='L114 '> </ a > < a href ='#L114 '> 114</ a >
180+ < a name ='L115 '> </ a > < a href ='#L115 '> 115</ a >
181+ < a name ='L116 '> </ a > < a href ='#L116 '> 116</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
182+ < span class ="cline-any cline-yes "> 2x</ span >
183+ < span class ="cline-any cline-yes "> 2x</ span >
184+ < span class ="cline-any cline-yes "> 2x</ span >
168185< span class ="cline-any cline-yes "> 2x</ span >
169186< span class ="cline-any cline-yes "> 2x</ span >
170187< span class ="cline-any cline-yes "> 2x</ span >
@@ -231,6 +248,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
231248< span class ="cline-any cline-yes "> 30x</ span >
232249< span class ="cline-any cline-yes "> 30x</ span >
233250< span class ="cline-any cline-yes "> 30x</ span >
251+ < span class ="cline-any cline-yes "> 30x</ span >
252+ < span class ="cline-any cline-yes "> 30x</ span >
253+ < span class ="cline-any cline-yes "> 30x</ span >
234254< span class ="cline-any cline-yes "> 4x</ span >
235255< span class ="cline-any cline-yes "> 4x</ span >
236256< span class ="cline-any cline-yes "> 30x</ span >
@@ -245,6 +265,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
245265< span class ="cline-any cline-yes "> 30x</ span >
246266< span class ="cline-any cline-yes "> 1x</ span >
247267< span class ="cline-any cline-yes "> 1x</ span >
268+ < span class ="cline-any cline-yes "> 30x</ span >
269+ < span class ="cline-any cline-yes "> 9x</ span >
270+ < span class ="cline-any cline-yes "> 9x</ span >
271+ < span class ="cline-any cline-yes "> 9x</ span >
272+ < span class ="cline-any cline-yes "> 9x</ span >
273+ < span class ="cline-any cline-yes "> 30x</ span >
274+ < span class ="cline-any cline-no "> </ span >
275+ < span class ="cline-any cline-no "> </ span >
248276< span class ="cline-any cline-yes "> 18x</ span >
249277< span class ="cline-any cline-yes "> 30x</ span >
250278< span class ="cline-any cline-yes "> 6x</ span >
@@ -268,7 +296,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
268296< span class ="cline-any cline-neutral "> </ span > </ td > < td class ="text "> < pre class ="prettyprint lang-js "> /**
269297* @license Apache-2.0
270298*
271- * Copyright (c) 2024 The Stdlib Authors.
299+ * Copyright (c) 2025 The Stdlib Authors.
272300*
273301* Licensed under the Apache License, Version 2.0 (the "License");
274302* you may not use this file except in compliance with the License.
@@ -287,8 +315,10 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
287315
288316// MODULES //
289317
318+ var max = require( '@stdlib/math/base/special/fast/max' );
290319var stride2offset = require( '@stdlib/strided/base/stride2offset' );
291320var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
321+ var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' );
292322var format = require( '@stdlib/string/format' );
293323var base = require( './base.js' );
294324
@@ -313,6 +343,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
313343* @throws {RangeError} third argument must be a nonnegative integer
314344* @throws {RangeError} sixth argument must be non-zero
315345* @throws {RangeError} eighth argument must be non-zero
346+ * @throws {RangeError} tenth argument must be greater than or equal to max(1,M)
316347* @returns {Float32Array} `A`
317348*
318349* @example
@@ -326,11 +357,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
326357* // A => <Float32Array>[ 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 ]
327358*/
328359function sger( order, M, N, alpha, x, strideX, y, strideY, A, LDA ) {
360+ var iscm;
361+ var vala;
329362 var sa1;
330363 var sa2;
331364 var ox;
332365 var oy;
333366
367+ iscm = isColumnMajor( order );
334368 if ( !isLayout( order ) ) {
335369 throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
336370 }
@@ -346,6 +380,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
346380 if ( strideY === 0 ) {
347381 throw new RangeError( format( 'invalid argument. Eighth argument must be non-zero.' ) );
348382 }
383+ if ( iscm ) {
384+ vala = M;
385+ } else {
386+ vala = N;
387+ }
388+ if ( LDA < max( 1, vala ) ) < span class ="branch-0 cbranch-no " title ="branch not covered " > {</ span >
389+ < span class ="cstat-no " title ="statement not covered " > throw new RangeError( format( 'invalid argument. Tenth argument must be greater than or equal to max(1,%d). Value: `%d`.', vala, LDA ) );</ span >
390+ < span class ="cstat-no " title ="statement not covered " > }</ span >
349391 // Check if we can early return...
350392 if ( M === 0 || N === 0 || alpha === 0.0 ) {
351393 return A;
@@ -373,7 +415,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
373415 < div class ='footer quiet pad2 space-top1 center small '>
374416 Code coverage generated by
375417 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
376- at 2025-06-12T17:25:06.316Z
418+ at 2025-06-13T05:06:23.482Z
377419 </ div >
378420 < script src ="../../../../prettify.js "> </ script >
379421 < script >
0 commit comments