|
20 | 20 |
|
21 | 21 | // MODULES //
|
22 | 22 |
|
| 23 | +var isLayout = require( '@stdlib/blas/base/assert/is-layout' ); |
23 | 24 | var resolve = require( '@stdlib/blas/base/layout-resolve-enum' );
|
24 | 25 | var format = require( '@stdlib/string/format' );
|
25 | 26 | var addon = require( './../src/addon.node' );
|
@@ -59,11 +60,22 @@ var addon = require( './../src/addon.node' );
|
59 | 60 | * // A => <Float64Array>[ 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 ]
|
60 | 61 | */
|
61 | 62 | function dger( order, M, N, alpha, x, strideX, y, strideY, A, LDA ) {
|
62 |
| - var ord = resolve( order ); |
63 |
| - if ( ord === null ) { |
| 63 | + if ( !isLayout( order ) ) { |
64 | 64 | throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
|
65 | 65 | }
|
66 |
| - addon( ord, M, N, alpha, x, strideX, y, strideY, A, LDA ); |
| 66 | + if ( M < 0 ) { |
| 67 | + throw new RangeError( format( 'invalid argument. Second argument must be a nonnegative integer. Value: `%d`.', M ) ); |
| 68 | + } |
| 69 | + if ( N < 0 ) { |
| 70 | + throw new RangeError( format( 'invalid argument. Third argument must be a nonnegative integer. Value: `%d`.', N ) ); |
| 71 | + } |
| 72 | + if ( strideX === 0 ) { |
| 73 | + throw new RangeError( format( 'invalid argument. Sixth argument must be non-zero. Value: `%d`.', strideX ) ); |
| 74 | + } |
| 75 | + if ( strideY === 0 ) { |
| 76 | + throw new RangeError( format( 'invalid argument. Eighth argument must be non-zero. Value: `%d`.', strideY ) ); |
| 77 | + } |
| 78 | + addon( resolve( order ), M, N, alpha, x, strideX, y, strideY, A, LDA ); |
67 | 79 | return A;
|
68 | 80 | }
|
69 | 81 |
|
|
0 commit comments