Skip to content

Commit d56c235

Browse files
itskdherePranavchikuPlaneshifter
authored
refactor blas/ext/base/dcusumors to follow current project conventions
PR-URL: #2041 Closes: #1474 --------- Signed-off-by: Pranav <85227306+Pranavchiku@users.noreply.github.com> Signed-off-by: Philipp Burckhardt <pburckhardt@outlook.com> Co-authored-by: Pranav <85227306+Pranavchiku@users.noreply.github.com> Co-authored-by: Philipp Burckhardt <pburckhardt@outlook.com> Reviewed-by: Pranav Goswami <goswami.4@iitj.ac.in> Reviewed-by: Philipp Burckhardt <pburckhardt@outlook.com>
1 parent b9f2025 commit d56c235

21 files changed

+210
-386
lines changed

lib/node_modules/@stdlib/blas/ext/base/dcusumors/README.md

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,15 @@ The function has the following parameters:
6565
- **y**: output [`Float64Array`][@stdlib/array/float64].
6666
- **strideY**: index increment for `y`.
6767

68-
The `N` and `stride` parameters determine which elements in `x` and `y` are accessed at runtime. For example, to compute the cumulative sum of every other element in `x`,
68+
The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to compute the cumulative sum of every other element in the strided input array,
6969

7070
```javascript
7171
var Float64Array = require( '@stdlib/array/float64' );
72-
var floor = require( '@stdlib/math/base/special/floor' );
7372

7473
var x = new Float64Array( [ 1.0, 2.0, 2.0, -7.0, -2.0, 3.0, 4.0, 2.0 ] );
7574
var y = new Float64Array( x.length );
7675

77-
var N = floor( x.length / 2 );
78-
79-
var v = dcusumors( N, 0.0, x, 2, y, 1 );
76+
var v = dcusumors( 4, 0.0, x, 2, y, 1 );
8077
// y => <Float64Array>[ 1.0, 3.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ]
8178
```
8279

@@ -86,7 +83,6 @@ Note that indexing is relative to the first index. To introduce an offset, use [
8683

8784
```javascript
8885
var Float64Array = require( '@stdlib/array/float64' );
89-
var floor = require( '@stdlib/math/base/special/floor' );
9086

9187
// Initial arrays...
9288
var x0 = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ] );
@@ -96,9 +92,7 @@ var y0 = new Float64Array( x0.length );
9692
var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
9793
var y1 = new Float64Array( y0.buffer, y0.BYTES_PER_ELEMENT*3 ); // start at 4th element
9894

99-
var N = floor( x0.length / 2 );
100-
101-
dcusumors( N, 0.0, x1, -2, y1, 1 );
95+
dcusumors( 4, 0.0, x1, -2, y1, 1 );
10296
// y0 => <Float64Array>[ 0.0, 0.0, 0.0, 4.0, 6.0, 4.0, 5.0, 0.0 ]
10397
```
10498

@@ -121,18 +115,15 @@ The function has the following additional parameters:
121115
- **offsetX**: starting index for `x`.
122116
- **offsetY**: starting index for `y`.
123117

124-
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying `buffer`, `offsetX` and `offsetY` parameters support indexing semantics based on a starting indices. For example, to calculate the cumulative sum of every other value in `x` starting from the second value and to store in the last `N` elements of `y` starting from the last element
118+
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying `buffer`, `offsetX` and `offsetY` parameters support indexing semantics based on a starting indices. For example, to calculate the cumulative sum of every other value in the strided input array starting from the second value and to store in the last `N` elements of the strided output array starting from the last element
125119

126120
```javascript
127121
var Float64Array = require( '@stdlib/array/float64' );
128-
var floor = require( '@stdlib/math/base/special/floor' );
129122

130123
var x = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ] );
131124
var y = new Float64Array( x.length );
132125

133-
var N = floor( x.length / 2 );
134-
135-
dcusumors.ndarray( N, 0.0, x, 2, 1, y, -1, y.length-1 );
126+
dcusumors.ndarray( 4, 0.0, x, 2, 1, y, -1, y.length-1 );
136127
// y => <Float64Array>[ 0.0, 0.0, 0.0, 0.0, 5.0, 1.0, -1.0, 1.0 ]
137128
```
138129

@@ -158,20 +149,14 @@ dcusumors.ndarray( N, 0.0, x, 2, 1, y, -1, y.length-1 );
158149
<!-- eslint no-undef: "error" -->
159150

160151
```javascript
161-
var randu = require( '@stdlib/random/base/randu' );
162-
var round = require( '@stdlib/math/base/special/round' );
152+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
153+
var filledarrayBy = require( '@stdlib/array/filled-by' );
163154
var Float64Array = require( '@stdlib/array/float64' );
164155
var dcusumors = require( '@stdlib/blas/ext/base/dcusumors' );
165156

166-
var y;
167-
var x;
168-
var i;
157+
var x = filledarrayBy( 10, 'float64', discreteUniform( 0, 100 ) );
158+
var y = new Float64Array( x.length );
169159

170-
x = new Float64Array( 10 );
171-
y = new Float64Array( x.length );
172-
for ( i = 0; i < x.length; i++ ) {
173-
x[ i ] = round( randu()*100.0 );
174-
}
175160
console.log( x );
176161
console.log( y );
177162

lib/node_modules/@stdlib/blas/ext/base/dcusumors/benchmark/benchmark.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,20 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
24+
var uniform = require( '@stdlib/random/base/uniform' ).factory;
25+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2526
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2627
var pow = require( '@stdlib/math/base/special/pow' );
2728
var Float64Array = require( '@stdlib/array/float64' );
2829
var pkg = require( './../package.json' ).name;
2930
var dcusumors = require( './../lib/dcusumors.js' );
3031

3132

33+
// VARIABLES //
34+
35+
var rand = uniform( -10.0, 10.0 );
36+
37+
3238
// FUNCTIONS //
3339

3440
/**
@@ -39,15 +45,8 @@ var dcusumors = require( './../lib/dcusumors.js' );
3945
* @returns {Function} benchmark function
4046
*/
4147
function createBenchmark( len ) {
42-
var y;
43-
var x;
44-
var i;
45-
46-
x = new Float64Array( len );
47-
y = new Float64Array( len );
48-
for ( i = 0; i < x.length; i++ ) {
49-
x[ i ] = ( randu()*20.0 ) - 10.0;
50-
}
48+
var x = filledarrayBy( len, 'float64', rand );
49+
var y = new Float64Array( len );
5150
return benchmark;
5251

5352
function benchmark( b ) {

lib/node_modules/@stdlib/blas/ext/base/dcusumors/benchmark/benchmark.native.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var randu = require( '@stdlib/random/base/randu' );
25+
var uniform = require( '@stdlib/random/base/uniform' ).factory;
26+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2627
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2728
var pow = require( '@stdlib/math/base/special/pow' );
2829
var Float64Array = require( '@stdlib/array/float64' );
@@ -32,6 +33,7 @@ var pkg = require( './../package.json' ).name;
3233

3334
// VARIABLES //
3435

36+
var rand = uniform( -10.0, 10.0 );
3537
var dcusumors = tryRequire( resolve( __dirname, './../lib/dcusumors.native.js' ) );
3638
var opts = {
3739
'skip': ( dcusumors instanceof Error )
@@ -48,15 +50,8 @@ var opts = {
4850
* @returns {Function} benchmark function
4951
*/
5052
function createBenchmark( len ) {
51-
var x;
52-
var y;
53-
var i;
54-
55-
x = new Float64Array( len );
56-
y = new Float64Array( len );
57-
for ( i = 0; i < x.length; i++ ) {
58-
x[ i ] = ( randu()*20.0 ) - 10.0;
59-
}
53+
var x = filledarrayBy( len, 'float64', rand );
54+
var y = new Float64Array( len );
6055
return benchmark;
6156

6257
function benchmark( b ) {

lib/node_modules/@stdlib/blas/ext/base/dcusumors/benchmark/benchmark.ndarray.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,20 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
24+
var uniform = require( '@stdlib/random/base/uniform' ).factory;
25+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2526
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2627
var pow = require( '@stdlib/math/base/special/pow' );
2728
var Float64Array = require( '@stdlib/array/float64' );
2829
var pkg = require( './../package.json' ).name;
2930
var dcusumors = require( './../lib/ndarray.js' );
3031

3132

33+
// VARIABLES //
34+
35+
var rand = uniform( -10.0, 10.0 );
36+
37+
3238
// FUNCTIONS //
3339

3440
/**
@@ -39,15 +45,8 @@ var dcusumors = require( './../lib/ndarray.js' );
3945
* @returns {Function} benchmark function
4046
*/
4147
function createBenchmark( len ) {
42-
var x;
43-
var y;
44-
var i;
45-
46-
x = new Float64Array( len );
47-
y = new Float64Array( len );
48-
for ( i = 0; i < x.length; i++ ) {
49-
x[ i ] = ( randu()*20.0 ) - 10.0;
50-
}
48+
var x = filledarrayBy( len, 'float64', rand );
49+
var y = new Float64Array( len );
5150
return benchmark;
5251

5352
function benchmark( b ) {

lib/node_modules/@stdlib/blas/ext/base/dcusumors/benchmark/benchmark.ndarray.native.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
25-
var randu = require( '@stdlib/random/base/randu' );
25+
var uniform = require( '@stdlib/random/base/uniform' ).factory;
26+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2627
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2728
var pow = require( '@stdlib/math/base/special/pow' );
2829
var Float64Array = require( '@stdlib/array/float64' );
@@ -32,6 +33,7 @@ var pkg = require( './../package.json' ).name;
3233

3334
// VARIABLES //
3435

36+
var rand = uniform( -10.0, 10.0 );
3537
var dcusumors = tryRequire( resolve( __dirname, './../lib/ndarray.native.js' ) );
3638
var opts = {
3739
'skip': ( dcusumors instanceof Error )
@@ -48,15 +50,8 @@ var opts = {
4850
* @returns {Function} benchmark function
4951
*/
5052
function createBenchmark( len ) {
51-
var x;
52-
var y;
53-
var i;
54-
55-
x = new Float64Array( len );
56-
y = new Float64Array( len );
57-
for ( i = 0; i < x.length; i++ ) {
58-
x[ i ] = ( randu()*20.0 ) - 10.0;
59-
}
53+
var x = filledarrayBy( len, 'float64', rand );
54+
var y = new Float64Array( len );
6055
return benchmark;
6156

6257
function benchmark( b ) {

lib/node_modules/@stdlib/blas/ext/base/dcusumors/docs/repl.txt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
Computes the cumulative sum of double-precision floating-point strided array
44
elements using ordinary recursive summation.
55

6-
The `N` and `stride` parameters determine which elements in `x` and `y` are
7-
accessed at runtime.
6+
The `N` and `stride` parameters determine which elements in the strided
7+
arrays are accessed at runtime.
88

99
Indexing is relative to the first index. To introduce an offset, use a typed
1010
array view.
@@ -47,21 +47,20 @@
4747
// Using `N` and `stride` parameters:
4848
> x = new {{alias:@stdlib/array/float64}}( [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0 ] );
4949
> y = new {{alias:@stdlib/array/float64}}( x.length );
50-
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
51-
> {{alias}}( N, 0.0, x, 2, y, 2 )
50+
> {{alias}}( 3, 0.0, x, 2, y, 2 )
5251
<Float64Array>[ -2.0, 0.0, -1.0, 0.0, 1.0, 0.0 ]
5352

5453
// Using view offsets:
5554
> var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] );
5655
> var y0 = new {{alias:@stdlib/array/float64}}( x0.length );
5756
> var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
5857
> var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*3 );
59-
> N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 );
60-
> {{alias}}( N, 0.0, x1, 2, y1, 1 )
58+
> {{alias}}( 3, 0.0, x1, 2, y1, 1 )
6159
<Float64Array>[ -2.0, 0.0, -1.0 ]
6260
> y0
6361
<Float64Array>[ 0.0, 0.0, 0.0, -2.0, 0.0, -1.0 ]
6462

63+
6564
{{alias}}.ndarray( N, sum, x, strideX, offsetX, y, strideY, offsetY )
6665
Computes the cumulative sum of double-precision floating-point strided array
6766
elements using ordinary recursive summation and alternative indexing
@@ -113,8 +112,7 @@
113112
// Advanced indexing:
114113
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] );
115114
> y = new {{alias:@stdlib/array/float64}}( x.length );
116-
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
117-
> {{alias}}.ndarray( N, 0.0, x, 2, 1, y, -1, y.length-1 )
115+
> {{alias}}.ndarray( 3, 0.0, x, 2, 1, y, -1, y.length-1 )
118116
<Float64Array>[ 0.0, 0.0, 0.0, -1.0, 0.0, -2.0 ]
119117

120118
See Also

lib/node_modules/@stdlib/blas/ext/base/dcusumors/examples/index.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,14 @@
1818

1919
'use strict';
2020

21-
var randu = require( '@stdlib/random/base/randu' );
22-
var round = require( '@stdlib/math/base/special/round' );
21+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
22+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2323
var Float64Array = require( '@stdlib/array/float64' );
2424
var dcusumors = require( './../lib' );
2525

26-
var y;
27-
var x;
28-
var i;
26+
var x = filledarrayBy( 10, 'float64', discreteUniform( 0, 100 ) );
27+
var y = new Float64Array( x.length );
2928

30-
x = new Float64Array( 10 );
31-
y = new Float64Array( x.length );
32-
for ( i = 0; i < x.length; i++ ) {
33-
x[ i ] = round( randu()*100.0 );
34-
}
3529
console.log( x );
3630
console.log( y );
3731

lib/node_modules/@stdlib/blas/ext/base/dcusumors/include.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Source files:
3838
'src_files': [
39-
'<(src_dir)/addon.cpp',
39+
'<(src_dir)/addon.c',
4040
'<!@(node -e "var arr = require(\'@stdlib/utils/library-manifest\')(\'./manifest.json\',{},{\'basedir\':process.cwd(),\'paths\':\'posix\'}).src; for ( var i = 0; i < arr.length; i++ ) { console.log( arr[ i ] ); }")',
4141
],
4242

lib/node_modules/@stdlib/blas/ext/base/dcusumors/lib/dcusumors.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@
3636
*
3737
* var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
3838
* var y = new Float64Array( x.length );
39-
* var N = x.length;
4039
*
41-
* var v = dcusumors( N, 0.0, x, 1, y, 1 );
40+
* var v = dcusumors( 3, 0.0, x, 1, y, 1 );
4241
* // returns <Float64Array>[ 1.0, -1.0, 1.0 ]
4342
*/
4443
function dcusumors( N, sum, x, strideX, y, strideY ) {

lib/node_modules/@stdlib/blas/ext/base/dcusumors/lib/dcusumors.native.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ var addon = require( './../src/addon.node' );
4141
*
4242
* var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
4343
* var y = new Float64Array( x.length );
44-
* var N = x.length;
4544
*
46-
* var v = dcusumors( N, 0.0, x, 1, y, 1 );
45+
* var v = dcusumors( 3, 0.0, x, 1, y, 1 );
4746
* // returns <Float64Array>[ 1.0, -1.0, 1.0 ]
4847
*/
4948
function dcusumors( N, sum, x, strideX, y, strideY ) {

lib/node_modules/@stdlib/blas/ext/base/dcusumors/lib/index.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,18 @@
2929
*
3030
* var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
3131
* var y = new Float64Array( x.length );
32-
* var N = x.length;
3332
*
34-
* dcusumors( N, 0.0, x, 1, y, 1 );
33+
* dcusumors( 3, 0.0, x, 1, y, 1 );
3534
* // y => <Float64Array>[ 1.0, -1.0, 1.0 ]
3635
*
3736
* @example
3837
* var Float64Array = require( '@stdlib/array/float64' );
39-
* var floor = require( '@stdlib/math/base/special/floor' );
4038
* var dcusumors = require( '@stdlib/blas/ext/base/dcusumors' );
4139
*
4240
* var x = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ] );
4341
* var y = new Float64Array( x.length );
44-
* var N = floor( x.length / 2 );
4542
*
46-
* dcusumors.ndarray( N, 0.0, x, 2, 1, y, 1, 0 );
43+
* dcusumors.ndarray( 4, 0.0, x, 2, 1, y, 1, 0 );
4744
* // y => <Float64Array>[ 1.0, -1.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ]
4845
*/
4946

lib/node_modules/@stdlib/blas/ext/base/dcusumors/lib/ndarray.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,11 @@
3535
*
3636
* @example
3737
* var Float64Array = require( '@stdlib/array/float64' );
38-
* var floor = require( '@stdlib/math/base/special/floor' );
3938
*
4039
* var x = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ] );
4140
* var y = new Float64Array( x.length );
42-
* var N = floor( x.length / 2 );
4341
*
44-
* var v = dcusumors( N, 0.0, x, 2, 1, y, 1, 0 );
42+
* var v = dcusumors( 4, 0.0, x, 2, 1, y, 1, 0 );
4543
* // returns <Float64Array>[ 1.0, -1.0, 1.0, 5.0, 0.0, 0.0, 0.0, 0.0 ]
4644
*/
4745
function dcusumors( N, sum, x, strideX, offsetX, y, strideY, offsetY ) {

0 commit comments

Comments
 (0)