Skip to content

Commit 7dff1fe

Browse files
authored
chore: add lda check
Signed-off-by: Shabareesh Shetty <[email protected]>
1 parent d510cbb commit 7dff1fe

File tree

1 file changed

+13
-0
lines changed
  • lib/node_modules/@stdlib/blas/base/sger/lib

1 file changed

+13
-0
lines changed

lib/node_modules/@stdlib/blas/base/sger/lib/sger.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
var stride2offset = require( '@stdlib/strided/base/stride2offset' );
2424
var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
25+
var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' );
2526
var format = require( '@stdlib/string/format' );
2627
var base = require( './base.js' );
2728

@@ -46,6 +47,7 @@ var base = require( './base.js' );
4647
* @throws {RangeError} third argument must be a nonnegative integer
4748
* @throws {RangeError} sixth argument must be non-zero
4849
* @throws {RangeError} eighth argument must be non-zero
50+
* @throws {RangeError} tenth argument must be greater than or equal to max(1,M)
4951
* @returns {Float32Array} `A`
5052
*
5153
* @example
@@ -59,11 +61,14 @@ var base = require( './base.js' );
5961
* // A => <Float32Array>[ 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 ]
6062
*/
6163
function sger( order, M, N, alpha, x, strideX, y, strideY, A, LDA ) {
64+
var iscm;
65+
var vala;
6266
var sa1;
6367
var sa2;
6468
var ox;
6569
var oy;
6670

71+
iscm = isColumnMajor( order );
6772
if ( !isLayout( order ) ) {
6873
throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
6974
}
@@ -79,6 +84,14 @@ function sger( order, M, N, alpha, x, strideX, y, strideY, A, LDA ) {
7984
if ( strideY === 0 ) {
8085
throw new RangeError( format( 'invalid argument. Eighth argument must be non-zero.' ) );
8186
}
87+
if ( iscm ) {
88+
vala = M;
89+
} else {
90+
vala = N;
91+
}
92+
if ( LDA < max( 1, vala ) ) {
93+
throw new RangeError( format( 'invalid argument. Tenth argument must be greater than or equal to max(1,%d). Value: `%d`.', vala, LDA ) );
94+
}
8295
// Check if we can early return...
8396
if ( M === 0 || N === 0 || alpha === 0.0 ) {
8497
return A;

0 commit comments

Comments
 (0)