@@ -25,7 +25,7 @@ <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 '> 98/98 </ span >
28
+ < span class ='fraction '> 99/99 </ span >
29
29
</ div >
30
30
31
31
@@ -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 '> 98/98 </ span >
49
+ < span class ='fraction '> 99/99 </ span >
50
50
</ div >
51
51
52
52
@@ -161,7 +161,8 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
161
161
< a name ='L96 '> </ a > < a href ='#L96 '> 96</ a >
162
162
< a name ='L97 '> </ a > < a href ='#L97 '> 97</ a >
163
163
< a name ='L98 '> </ a > < a href ='#L98 '> 98</ a >
164
- < a name ='L99 '> </ a > < a href ='#L99 '> 99</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
164
+ < a name ='L99 '> </ a > < a href ='#L99 '> 99</ a >
165
+ < a name ='L100 '> </ a > < a href ='#L100 '> 100</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
165
166
< span class ="cline-any cline-yes "> 2x</ span >
166
167
< span class ="cline-any cline-yes "> 2x</ span >
167
168
< span class ="cline-any cline-yes "> 2x</ span >
@@ -241,6 +242,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
241
242
< span class ="cline-any cline-yes "> 31x</ span >
242
243
< span class ="cline-any cline-yes "> 6x</ span >
243
244
< span class ="cline-any cline-yes "> 6x</ span >
245
+ < span class ="cline-any cline-yes "> 13x</ span >
244
246
< span class ="cline-any cline-yes "> 31x</ span >
245
247
< span class ="cline-any cline-yes "> 4x</ span >
246
248
< span class ="cline-any cline-yes "> 4x</ span >
@@ -281,11 +283,11 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
281
283
282
284
// MODULES //
283
285
284
- var max = require( '@stdlib/math/base/special/fast/max' );
285
286
var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
286
287
var isMatrixTriangle = require( '@stdlib/blas/base/assert/is-matrix-triangle' );
287
288
var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' );
288
289
var stride2offset = require( '@stdlib/strided/base/stride2offset' );
290
+ var max = require( '@stdlib/math/base/special/fast/max' );
289
291
var format = require( '@stdlib/string/format' );
290
292
var base = require( './base.js' );
291
293
@@ -298,7 +300,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
298
300
* @param {string} order - storage layout
299
301
* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced
300
302
* @param {NonNegativeInteger} N - number of elements along each dimension of `A`
301
- * @param {number} alpha - scalar
303
+ * @param {number} alpha - scalar constant
302
304
* @param {Float64Array} x - input vector
303
305
* @param {integer} strideX - `x` stride length
304
306
* @param {Float64Array} A - input matrix
@@ -307,17 +309,17 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
307
309
* @throws {TypeError} second argument must specify whether to reference the lower or upper triangular matrix
308
310
* @throws {RangeError} third argument must be a nonnegative integer
309
311
* @throws {RangeError} sixth argument must be non-zero
310
- * @throws {RangeError} eighth argument must be greater than or equal to max(1,N)
312
+ * @throws {RangeError} eighth argument must be a valid stride
311
313
* @returns {Float64Array} `A`
312
314
*
313
315
* @example
314
316
* var Float64Array = require( '@stdlib/array/float64' );
315
317
*
316
- * var A = new Float64Array( [ 1.0, 2.0, 3.0, 0 .0, 1.0, 2.0, 0 .0, 0 .0, 1.0 ] ); // => [ [ 1.0, 2.0, 3.0 ], [ 0 .0, 1.0, 2.0 ], [ 0 .0, 0 .0, 1.0 ] ]
318
+ * var A = new Float64Array( [ 1.0, 2.0, 3.0, 2 .0, 1.0, 2.0, 3 .0, 2 .0, 1.0 ] ); // => [ [ 1.0, 2.0, 3.0 ], [ 2 .0, 1.0, 2.0 ], [ 3 .0, 2 .0, 1.0 ] ]
317
319
* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
318
320
*
319
321
* dsyr( 'row-major', 'upper', 3, 1.0, x, 1, A, 3 );
320
- * // A => <Float64Array>[ 2.0, 4.0, 6.0, 0 .0, 5.0, 8.0, 0 .0, 0 .0, 10.0 ]
322
+ * // A => <Float64Array>[ 2.0, 4.0, 6.0, 2 .0, 5.0, 8.0, 3 .0, 2 .0, 10.0 ]
321
323
*/
322
324
function dsyr( order, uplo, N, alpha, x, strideX, A, LDA ) {
323
325
var sa1;
@@ -339,6 +341,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
339
341
if ( LDA < max( 1, N ) ) {
340
342
throw new RangeError( format( 'invalid argument. Eighth argument must be greater than or equal to max(1,%d). Value: `%d`.', N, LDA ) );
341
343
}
344
+ // Check if we can early return...
342
345
if ( N === 0 || alpha === 0.0 ) {
343
346
return A;
344
347
}
@@ -364,7 +367,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
364
367
< div class ='footer quiet pad2 space-top1 center small '>
365
368
Code coverage generated by
366
369
< a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
367
- at 2025-06-01T01:07:57.832Z
370
+ at 2025-07-11T08:23:55.252Z
368
371
</ div >
369
372
< script src ="../../../../prettify.js "> </ script >
370
373
< script >
0 commit comments