Skip to content

Commit 5b15c96

Browse files
committed
refactor: update implementation in accordance with current project conventions
Ref: #788
1 parent 8e56b51 commit 5b15c96

File tree

16 files changed

+286
-363
lines changed

16 files changed

+286
-363
lines changed

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

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,10 @@ The `N` and `stride` parameters determine which elements in `x` are used to comp
7474

7575
```javascript
7676
var Float64Array = require( '@stdlib/array/float64' );
77-
var floor = require( '@stdlib/math/base/special/floor' );
7877

7978
var x = new Float64Array( [ -2.0, 1.0, 3.0, -5.0, 4.0, 0.0, -1.0, -3.0 ] );
8079

81-
var N = floor( x.length / 2 );
82-
var stride = 2;
83-
84-
var sum = dasum( N, x, stride );
80+
var sum = dasum( 4, x, 2 );
8581
// returns 10.0
8682
```
8783

@@ -96,10 +92,8 @@ var x0 = new Float64Array( [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ] );
9692
// Create an offset view...
9793
var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
9894

99-
var N = 3;
100-
10195
// Sum every other value...
102-
var sum = dasum( N, x1, 2 );
96+
var sum = dasum( 3, x1, 2 );
10397
// returns 12.0
10498
```
10599

@@ -159,28 +153,15 @@ sum = dasum.ndarray( 3, x, -1, x.length-1 );
159153
<!-- eslint no-undef: "error" -->
160154

161155
```javascript
162-
var round = require( '@stdlib/math/base/special/round' );
163-
var randu = require( '@stdlib/random/base/randu' );
164-
var Float64Array = require( '@stdlib/array/float64' );
156+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
157+
var filledarrayBy = require( '@stdlib/array/filled-by' );
165158
var dasum = require( '@stdlib/blas/base/dasum' );
166159

167-
var rand;
168-
var sign;
169-
var x;
170-
var i;
171-
172-
x = new Float64Array( 100 );
173-
for ( i = 0; i < x.length; i++ ) {
174-
rand = round( randu()*100.0 );
175-
sign = randu();
176-
if ( sign < 0.5 ) {
177-
sign = -1.0;
178-
} else {
179-
sign = 1.0;
180-
}
181-
x[ i ] = sign * rand;
182-
}
183-
console.log( dasum( x.length, x, 1 ) );
160+
var x = filledarrayBy( 10, 'float64', discreteUniform( -100, 100 ) );
161+
console.log( x );
162+
163+
var y = dasum( x.length, x, 1 );
164+
console.log( y );
184165
```
185166

186167
</section>

lib/node_modules/@stdlib/blas/base/dasum/benchmark/benchmark.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,19 @@
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' );
27-
var Float64Array = require( '@stdlib/array/float64' );
2828
var pkg = require( './../package.json' ).name;
2929
var dasum = require( './../lib/dasum.js' );
3030

3131

32+
// VARIABLES //
33+
34+
var rand = uniform( -100.0, 100.0 );
35+
36+
3237
// FUNCTIONS //
3338

3439
/**
@@ -39,13 +44,7 @@ var dasum = require( './../lib/dasum.js' );
3944
* @returns {Function} benchmark function
4045
*/
4146
function createBenchmark( len ) {
42-
var x;
43-
var i;
44-
45-
x = new Float64Array( len );
46-
for ( i = 0; i < x.length; i++ ) {
47-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
48-
}
47+
var x = filledarrayBy( len, 'float64', rand );
4948
return benchmark;
5049

5150
/**

lib/node_modules/@stdlib/blas/base/dasum/benchmark/benchmark.native.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
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' );
28-
var Float64Array = require( '@stdlib/array/float64' );
2929
var tryRequire = require( '@stdlib/utils/try-require' );
3030
var pkg = require( './../package.json' ).name;
3131

@@ -36,6 +36,7 @@ var dasum = tryRequire( resolve( __dirname, './../lib/dasum.native.js' ) );
3636
var opts = {
3737
'skip': ( dasum instanceof Error )
3838
};
39+
var rand = uniform( -100.0, 100.0 );
3940

4041

4142
// FUNCTIONS //
@@ -48,13 +49,7 @@ var opts = {
4849
* @returns {Function} benchmark function
4950
*/
5051
function createBenchmark( len ) {
51-
var x;
52-
var i;
53-
54-
x = new Float64Array( len );
55-
for ( i = 0; i < x.length; i++ ) {
56-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
57-
}
52+
var x = filledarrayBy( len, 'float64', rand );
5853
return benchmark;
5954

6055
/**

lib/node_modules/@stdlib/blas/base/dasum/benchmark/benchmark.ndarray.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,19 @@
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' );
27-
var Float64Array = require( '@stdlib/array/float64' );
2828
var pkg = require( './../package.json' ).name;
2929
var dasum = require( './../lib/ndarray.js' );
3030

3131

32+
// VARIABLES //
33+
34+
var rand = uniform( -100.0, 100.0 );
35+
36+
3237
// FUNCTIONS //
3338

3439
/**
@@ -39,13 +44,7 @@ var dasum = require( './../lib/ndarray.js' );
3944
* @returns {Function} benchmark function
4045
*/
4146
function createBenchmark( len ) {
42-
var x;
43-
var i;
44-
45-
x = new Float64Array( len );
46-
for ( i = 0; i < x.length; i++ ) {
47-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
48-
}
47+
var x = filledarrayBy( len, 'float64', rand );
4948
return benchmark;
5049

5150
/**

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

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
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' );
28-
var Float64Array = require( '@stdlib/array/float64' );
2929
var tryRequire = require( '@stdlib/utils/try-require' );
3030
var pkg = require( './../package.json' ).name;
3131

@@ -36,6 +36,7 @@ var dasum = tryRequire( resolve( __dirname, './../lib/ndarray.native.js' ) );
3636
var opts = {
3737
'skip': ( dasum instanceof Error )
3838
};
39+
var rand = uniform( -100.0, 100.0 );
3940

4041

4142
// FUNCTIONS //
@@ -48,13 +49,7 @@ var opts = {
4849
* @returns {Function} benchmark function
4950
*/
5051
function createBenchmark( len ) {
51-
var x;
52-
var i;
53-
54-
x = new Float64Array( len );
55-
for ( i = 0; i < x.length; i++ ) {
56-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
57-
}
52+
var x = filledarrayBy( len, 'float64', rand );
5853
return benchmark;
5954

6055
/**

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

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,12 @@
1818

1919
'use strict';
2020

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

26-
var rand;
27-
var sign;
28-
var x;
29-
var i;
25+
var x = filledarrayBy( 10, 'float64', discreteUniform( -100, 100 ) );
26+
console.log( x );
3027

31-
x = new Float64Array( 100 );
32-
for ( i = 0; i < x.length; i++ ) {
33-
rand = round( randu()*100.0 );
34-
sign = randu();
35-
if ( sign < 0.5 ) {
36-
sign = -1.0;
37-
} else {
38-
sign = 1.0;
39-
}
40-
x[ i ] = sign * rand;
41-
}
42-
console.log( dasum( x.length, x, 1 ) );
28+
var y = dasum( x.length, x, 1 );
29+
console.log( y );

lib/node_modules/@stdlib/blas/base/dasum/include.gypi

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

5353
# Source files:
5454
'src_files': [
55-
'<(src_dir)/addon.cpp',
55+
'<(src_dir)/addon.c',
5656
'<!@(node -e "var arr = require(\'@stdlib/utils/library-manifest\')(\'./manifest.json\',{\'os\':\'<(OS)\',\'blas\':\'<(blas)\'},{\'basedir\':process.cwd(),\'paths\':\'posix\'}).src; for ( var i = 0; i < arr.length; i++ ) { console.log( arr[ i ] ); }")',
5757
],
5858

lib/node_modules/@stdlib/blas/base/dasum/lib/ndarray.native.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020

2121
// MODULES //
2222

23-
var Float64Array = require( '@stdlib/array/float64' );
23+
var minViewBufferIndex = require( '@stdlib/strided/base/min-view-buffer-index' );
24+
var offsetView = require( '@stdlib/strided/base/offset-view' );
2425
var addon = require( './dasum.native.js' );
2526

2627

@@ -45,11 +46,11 @@ var addon = require( './dasum.native.js' );
4546
*/
4647
function dasum( N, x, stride, offset ) {
4748
var view;
49+
offset = minViewBufferIndex( N, stride, offset );
4850
if ( stride < 0 ) {
4951
stride *= -1;
50-
offset -= (N-1) * stride;
5152
}
52-
view = new Float64Array( x.buffer, x.byteOffset+(x.BYTES_PER_ELEMENT*offset), x.length-offset ); // eslint-disable-line max-len
53+
view = offsetView( x, offset );
5354
return addon( N, view, stride );
5455
}
5556

0 commit comments

Comments
 (0)