Skip to content

Commit 87c7fec

Browse files
committed
chore: update implementation
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: missing_dependencies - task: lint_c_examples status: missing_dependencies - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 97dfb64 commit 87c7fec

File tree

13 files changed

+115
-81
lines changed

13 files changed

+115
-81
lines changed

lib/node_modules/@stdlib/blas/base/dsyr2/README.md

Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A`, where `α
3737
```javascript
3838
var Float64Array = require( '@stdlib/array/float64' );
3939

40-
var A = new Float64Array( [ 1.0, 2.0, 3.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0 ] );
40+
var A = new Float64Array( [ 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 ] );
4141
var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
4242
var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
4343

4444
dsyr2( 'row-major', 'upper', 3, 1.0, x, 1, y, 1, A, 3 );
45-
// A => <Float64Array>[ 3.0, 6.0, 9.0, 0.0, 9.0, 14.0, 0.0, 0.0, 19.0 ]
45+
// A => <Float64Array>[ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ]
4646
```
4747

4848
The function has the following parameters:
@@ -63,12 +63,12 @@ The stride parameters determine how elements in the input arrays are accessed at
6363
```javascript
6464
var Float64Array = require( '@stdlib/array/float64' );
6565

66-
var A = new Float64Array( [ 1.0, 2.0, 3.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0 ] );
66+
var A = new Float64Array( [ 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 ] );
6767
var x = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
6868
var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
6969

7070
dsyr2( 'row-major', 'upper', 3, 1.0, x, 2, y, 1, A, 3 );
71-
// A => <Float64Array>[ 3.0, 7.0, 11.0, 0.0, 13.0, 21.0, 0.0, 0.0, 31.0 ]
71+
// A => <Float64Array>[ 3.0, 7.0, 11.0, 2.0, 13.0, 21.0, 3.0, 2.0, 31.0 ]
7272
```
7373

7474
Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
@@ -81,14 +81,14 @@ var Float64Array = require( '@stdlib/array/float64' );
8181
// Initial arrays...
8282
var x0 = new Float64Array( [ 0.0, 1.0, 1.0, 1.0 ] );
8383
var y0 = new Float64Array( [ 0.0, 1.0, 2.0, 3.0 ] );
84-
var A = new Float64Array( [ 1.0, 2.0, 3.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0 ] );
84+
var A = new Float64Array( [ 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 ] );
8585

8686
// Create offset views...
8787
var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
8888
var y1 = new Float64Array( y0.buffer, y0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
8989

9090
dsyr2( 'row-major', 'upper', 3, 1.0, x1, 1, y1, 1, A, 3 );
91-
// A => <Float64Array>[ 3.0, 5.0, 7.0, 0.0, 5.0, 7.0, 0.0, 0.0, 7.0 ]
91+
// A => <Float64Array>[ 3.0, 5.0, 7.0, 2.0, 5.0, 7.0, 3.0, 2.0, 7.0 ]
9292
```
9393

9494
#### dsyr2.ndarray( uplo, N, α, x, sx, ox, y, sy, oy, A, sa1, sa2, oa )
@@ -98,12 +98,12 @@ Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A`, using alt
9898
```javascript
9999
var Float64Array = require( '@stdlib/array/float64' );
100100

101-
var A = new Float64Array( [ 1.0, 2.0, 3.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0 ] );
101+
var A = new Float64Array( [ 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 ] );
102102
var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
103103
var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
104104

105105
dsyr2.ndarray( 'upper', 3, 1.0, x, 1, 0, y, 1, 0, A, 3, 1, 0 );
106-
// A => <Float64Array>[ 3.0, 6.0, 9.0, 0.0, 9.0, 14.0, 0.0, 0.0, 19.0 ]
106+
// A => <Float64Array>[ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ]
107107
```
108108

109109
The function has the following additional parameters:
@@ -119,12 +119,12 @@ While [`typed array`][mdn-typed-array] views mandate a view offset based on the
119119
```javascript
120120
var Float64Array = require( '@stdlib/array/float64' );
121121

122-
var A = new Float64Array( [ 1.0, 2.0, 3.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0 ] );
122+
var A = new Float64Array( [ 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 ] );
123123
var x = new Float64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
124124
var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
125125

126126
dsyr2.ndarray( 'upper', 3, 1.0, x, -2, 4, y, 1, 0, A, 3, 1, 0 );
127-
// A => <Float64Array>[ 11.0, 15.0, 19.0, 0.0, 13.0, 13.0, 0.0, 0.0, 7.0 ]
127+
// A => <Float64Array>[ 11.0, 15.0, 19.0, 2.0, 13.0, 13.0, 3.0, 2.0, 7.0 ]
128128
```
129129

130130
</section>
@@ -158,12 +158,18 @@ var opts = {
158158

159159
var N = 3;
160160

161-
var A = ones( N*N, opts.dtype );
161+
// Define 3x3 symmetric matrices:
162+
var A1 = ones( N*N, opts.dtype );
163+
var A2 = ones( N*N, opts.dtype );
164+
162165
var x = discreteUniform( N, -10.0, 10.0, opts );
163166
var y = discreteUniform( N, -10.0, 10.0, opts );
164167

165-
dsyr2( 'row-major', 'upper', 3, 1.0, x, 1, y, 1, A, 3 );
166-
console.log( A );
168+
dsyr2( 'row-major', 'upper', 3, 1.0, x, 1, y, 1, A1, 3 );
169+
console.log( A1 );
170+
171+
dsyr2.ndarray( 'upper', 3, 1.0, x, 1, 0, y, 1, 0, A2, 3, 1, 0 );
172+
console.log( A2 );
167173
```
168174

169175
</section>
@@ -203,7 +209,7 @@ Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A` where `α`
203209
```c
204210
#include "stdlib/blas/base/shared.h"
205211

206-
double A[] = { 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 3.0, 2.0, 1.0 };
212+
double A[] = { 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 };
207213
const double x[] = { 1.0, 2.0, 3.0 };
208214
const double y[] = { 1.0, 2.0, 3.0 };
209215

@@ -236,7 +242,7 @@ Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A`, using alt
236242
```c
237243
#include "stdlib/blas/base/shared.h"
238244

239-
double A[] = { 1.0, 2.0, 3.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0 };
245+
double A[] = { 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 };
240246
const double x[] = { 1.0, 2.0, 3.0 };
241247
const double y[] = { 1.0, 2.0, 3.0 };
242248

@@ -249,11 +255,11 @@ The function accepts the following arguments:
249255
- **N**: `[in] CBLAS_INT` number of elements along each dimension of `A`.
250256
- **alpha**: `[in] double` scalar constant.
251257
- **X**: `[in] double*` first input array.
252-
- **strideX**: `[in] CBLAS_INT` stride length for `X`.
253-
- **offsetX**: `[in] CBLAS_INT` starting index for `X`.
258+
- **sx**: `[in] CBLAS_INT` stride length for `X`.
259+
- **ox**: `[in] CBLAS_INT` starting index for `X`.
254260
- **Y**: `[in] double` second input array.
255-
- **strideY**: `[in] CBLAS_INT` stride length for `Y`.
256-
- **offsetY**: `[in] CBLAS_INT` starting index for `Y`.
261+
- **sy**: `[in] CBLAS_INT` stride length for `Y`.
262+
- **oy**: `[in] CBLAS_INT` starting index for `Y`.
257263
- **A**: `[inout] double*` input matrix.
258264
- **sa1**: `[in] CBLAS_INT` stride of the first dimension of `A`.
259265
- **sa2**: `[in] CBLAS_INT` stride of the second dimension of `A`.
@@ -287,34 +293,40 @@ void c_dsyr2_ndarray( const CBLAS_UPLO uplo, const CBLAS_INT N, const double alp
287293
#include <stdio.h>
288294

289295
int main( void ) {
290-
// Define a 3x3 symmetric matrix stored in row-major order:
291-
double A[ 3*3 ] = {
292-
1.0, 0.0, 0.0,
293-
2.0, 1.0, 0.0,
296+
// Define 3x3 symmetric matrices stored in row-major layout:
297+
double A1[ 3*3 ] = {
298+
1.0, 2.0, 3.0,
299+
2.0, 1.0, 2.0,
300+
3.0, 2.0, 1.0
301+
};
302+
303+
double A2[ 3*3 ] = {
304+
1.0, 2.0, 3.0,
305+
2.0, 1.0, 2.0,
294306
3.0, 2.0, 1.0
295307
};
296308

297309
// Define `x` and `y` vectors:
298310
const double x[ 3 ] = { 1.0, 2.0, 3.0 };
299311
const double y[ 3 ] = { 1.0, 2.0, 3.0 };
300312

301-
// Specify the number of elements along each dimension of `A`:
313+
// Specify the number of elements along each dimension of `A1` and `A2`:
302314
const int N = 3;
303315

304316
// Perform the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A`:
305-
c_dsyr2( CblasColMajor, CblasUpper, N, 1.0, x, 1, y, 1, A, N );
317+
c_dsyr2( CblasColMajor, CblasUpper, N, 1.0, x, 1, y, 1, A1, N );
306318

307319
// Print the result:
308320
for ( int i = 0; i < N*N; i++ ) {
309-
printf( "A[ %i ] = %f\n", i, A[ i ] );
321+
printf( "A1[ %i ] = %f\n", i, A1[ i ] );
310322
}
311323

312324
// Perform the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A` using alternative semantics indexing:
313-
c_dsyr2_ndarray( CblasUpper, N, 1.0, x, 1, 0, y, 1, 0, A, N, 1, 0 );
325+
c_dsyr2_ndarray( CblasUpper, N, 1.0, x, 1, 0, y, 1, 0, A2, N, 1, 0 );
314326

315327
// Print the result:
316328
for ( int i = 0; i < N*N; i++ ) {
317-
printf( "A[ %i ] = %f\n", i, A[ i ] );
329+
printf( "A2[ %i ] = %f\n", i, A2[ i ] );
318330
}
319331
}
320332
```

lib/node_modules/@stdlib/blas/base/dsyr2/docs/repl.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,25 +55,25 @@
5555
// Standard usage:
5656
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
5757
> var y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
58-
> var A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 0.0, 2.0 ] );
58+
> var A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 2.0, 1.0 ] );
5959
> {{alias}}( 'row-major', 'upper', 2, 1.0, x, 1, y, 1, A, 2 )
60-
<Float64Array>[ 3.0, 4.0, 0.0, 4.0 ]
60+
<Float64Array>[ 3.0, 4.0, 2.0, 3.0 ]
6161

6262
// Advanced indexing:
6363
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
6464
> y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
65-
> A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 0.0, 2.0 ] );
65+
> A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 2.0, 1.0 ] );
6666
> {{alias}}( 'row-major', 'upper', 2, 1.0, x, -1, y, -1, A, 2 )
67-
<Float64Array>[ 3.0, 4.0, 0.0, 4.0 ]
67+
<Float64Array>[ 3.0, 4.0, 2.0, 3.0 ]
6868

6969
// Using typed array views:
7070
> var x0 = new {{alias:@stdlib/array/float64}}( [ 0.0, 1.0, 1.0 ] );
7171
> var y0 = new {{alias:@stdlib/array/float64}}( [ 0.0, 1.0, 1.0 ] );
72-
> A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 0.0, 2.0 ] );
72+
> A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 2.0, 1.0 ] );
7373
> var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
7474
> var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*1 );
7575
> {{alias}}( 'row-major', 'upper', 2, 1.0, x, 1, y, 1, A, 2 )
76-
<Float64Array>[ 3.0, 4.0, 0.0, 4.0 ]
76+
<Float64Array>[ 3.0, 4.0, 2.0, 3.0 ]
7777

7878

7979
{{alias}}.ndarray( uplo, N, α, x, sx, ox, y, sy, oy, A, sa1, sa2, oa )
@@ -136,9 +136,9 @@
136136
--------
137137
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
138138
> var y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0 ] );
139-
> var A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 0.0, 2.0 ] );
139+
> var A = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 2.0, 1.0 ] );
140140
> {{alias}}.ndarray( 'upper', 2, 1.0, x, 1, 0, y, 1, 0, A, 2, 1, 0 )
141-
<Float64Array>[ 3.0, 4.0, 0.0, 4.0 ]
141+
<Float64Array>[ 3.0, 4.0, 2.0, 3.0 ]
142142

143143
See Also
144144
--------

lib/node_modules/@stdlib/blas/base/dsyr2/docs/types/index.d.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ interface Routine {
4444
* @example
4545
* var Float64Array = require( '@stdlib/array/float64' );
4646
*
47-
* 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 ] ]
47+
* 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 ] ]
4848
* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
4949
* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
5050
*
5151
* dsyr2( 'row-major', 'upper', 3, 1.0, x, 1, y, 1, A, 3 );
52-
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 0.0, 9.0, 14.0, 0.0, 0.0, 19.0 ]
52+
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ]
5353
*/
5454
( order: Layout, uplo: MatrixTriangle, N: number, alpha: number, x: Float64Array, strideX: number, y: Float64Array, strideY: number, A: Float64Array, LDA: number ): Float64Array;
5555

@@ -74,12 +74,12 @@ interface Routine {
7474
* @example
7575
* var Float64Array = require( '@stdlib/array/float64' );
7676
*
77-
* 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 ] ]
77+
* 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 ] ]
7878
* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
7979
* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
8080
*
8181
* dsyr2.ndarray( 'upper', 3, 1.0, x, 1, 0, y, 1, 0, A, 3, 1, 0 );
82-
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 0.0, 9.0, 14.0, 0.0, 0.0, 19.0 ]
82+
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ]
8383
*/
8484
ndarray( uplo: MatrixTriangle, N: number, alpha: number, x: Float64Array, strideX: number, offsetX: number, y: Float64Array, strideY: number, offsetY: number, A: Float64Array, strideA1: number, strideA2: number, offsetA: number ): Float64Array;
8585
}
@@ -102,22 +102,22 @@ interface Routine {
102102
* @example
103103
* var Float64Array = require( '@stdlib/array/float64' );
104104
*
105-
* var A = new Float64Array( [ 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 3.0, 2.0, 1.0 ] );
105+
* var A = new Float64Array( [ 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 ] );
106106
* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
107107
* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
108108
*
109109
* dsyr2( 'column-major', 'upper', 3, 1.0, x, 1, y, 1, A, 3 );
110-
* // A => <Float64Array>[ 3.0, 0.0, 0.0, 6.0, 9.0, 0.0, 9.0, 14.0, 19.0 ]
110+
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ]
111111
*
112112
* @example
113113
* var Float64Array = require( '@stdlib/array/float64' );
114114
*
115-
* var A = new Float64Array( [ 1.0, 1.0, 1.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0 ] );
115+
* var A = new Float64Array( [ 1.0, 2.0, 3.0, 2.0, 1.0, 2.0, 3.0, 2.0, 1.0 ] );
116116
* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
117117
* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
118118
*
119119
* dsyr2.ndarray( 'upper', 3, 1.0, x, 1, 0, y, 1, 0, A, 1, 3, 0 );
120-
* // A => <Float64Array>[ 3.0, 0.0, 0.0, 6.0, 9.0, 0.0, 9.0, 14.0, 19.0 ]
120+
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ]
121121
*/
122122
declare var dsyr2: Routine;
123123

lib/node_modules/@stdlib/blas/base/dsyr2/examples/c/example.c

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,33 +21,39 @@
2121
#include <stdio.h>
2222

2323
int main( void ) {
24-
// Define a 3x3 symmetric matrix stored in row-major order:
25-
double A[ 3*3 ] = {
26-
1.0, 0.0, 0.0,
27-
2.0, 1.0, 0.0,
24+
// Define 3x3 symmetric matrices stored in row-major layout:
25+
double A1[ 3*3 ] = {
26+
1.0, 2.0, 3.0,
27+
2.0, 1.0, 2.0,
28+
3.0, 2.0, 1.0
29+
};
30+
31+
double A2[ 3*3 ] = {
32+
1.0, 2.0, 3.0,
33+
2.0, 1.0, 2.0,
2834
3.0, 2.0, 1.0
2935
};
3036

3137
// Define `x` and `y` vectors:
3238
const double x[ 3 ] = { 1.0, 2.0, 3.0 };
3339
const double y[ 3 ] = { 1.0, 2.0, 3.0 };
3440

35-
// Specify the number of elements along each dimension of `A`:
41+
// Specify the number of elements along each dimension of `A1` and `A2`:
3642
const int N = 3;
3743

3844
// Perform the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A`:
39-
c_dsyr2( CblasColMajor, CblasUpper, N, 1.0, x, 1, y, 1, A, N );
45+
c_dsyr2( CblasColMajor, CblasUpper, N, 1.0, x, 1, y, 1, A1, N );
4046

4147
// Print the result:
4248
for ( int i = 0; i < N*N; i++ ) {
43-
printf( "A[ %i ] = %f\n", i, A[ i ] );
49+
printf( "A1[ %i ] = %f\n", i, A1[ i ] );
4450
}
4551

4652
// Perform the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A` using alternative semantics indexing:
47-
c_dsyr2_ndarray( CblasUpper, N, 1.0, x, 1, 0, y, 1, 0, A, N, 1, 0 );
53+
c_dsyr2_ndarray( CblasUpper, N, 1.0, x, 1, 0, y, 1, 0, A2, N, 1, 0 );
4854

4955
// Print the result:
5056
for ( int i = 0; i < N*N; i++ ) {
51-
printf( "A[ %i ] = %f\n", i, A[ i ] );
57+
printf( "A2[ %i ] = %f\n", i, A2[ i ] );
5258
}
5359
}

lib/node_modules/@stdlib/blas/base/dsyr2/examples/index.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,15 @@ var opts = {
2828

2929
var N = 3;
3030

31-
var A = ones( N*N, opts.dtype );
31+
// Define 3x3 symmetric matrices:
32+
var A1 = ones( N*N, opts.dtype );
33+
var A2 = ones( N*N, opts.dtype );
34+
3235
var x = discreteUniform( N, -10.0, 10.0, opts );
3336
var y = discreteUniform( N, -10.0, 10.0, opts );
3437

35-
dsyr2( 'row-major', 'upper', 3, 1.0, x, 1, y, 1, A, 3 );
36-
console.log( A );
38+
dsyr2( 'row-major', 'upper', 3, 1.0, x, 1, y, 1, A1, 3 );
39+
console.log( A1 );
40+
41+
dsyr2.ndarray( 'upper', 3, 1.0, x, 1, 0, y, 1, 0, A2, 3, 1, 0 );
42+
console.log( A2 );

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' );
3131
* @private
3232
* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced
3333
* @param {NonNegativeInteger} N - number of elements along each dimension of `A`
34-
* @param {number} alpha - scalar
34+
* @param {number} alpha - scalar constant
3535
* @param {Float64Array} x - first input vector
3636
* @param {integer} strideX - `x` stride length
3737
* @param {NonNegativeInteger} offsetX - starting index for `x`
@@ -47,12 +47,12 @@ var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' );
4747
* @example
4848
* var Float64Array = require( '@stdlib/array/float64' );
4949
*
50-
* 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 ] ]
50+
* 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 ] ]
5151
* var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
5252
* var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
5353
*
5454
* dsyr2( 'upper', 3, 1.0, x, 1, 0, y, 1, 0, A, 3, 1, 0 );
55-
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 0.0, 9.0, 14.0, 0.0, 0.0, 19.0 ]
55+
* // A => <Float64Array>[ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ]
5656
*/
5757
function dsyr2( uplo, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ) { // eslint-disable-line max-len, max-params
5858
var tmp1;

0 commit comments

Comments
 (0)