Skip to content

Commit 3272b77

Browse files
committed
refactor: update implementation according to current project conventions
Ref: #788
1 parent 004b244 commit 3272b77

18 files changed

+299
-354
lines changed

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

+14-32
Original file line numberDiff line numberDiff line change
@@ -74,33 +74,26 @@ The `N` and `stride` parameters determine which elements in `x` are used to comp
7474

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

7978
var x = new Float32Array( [ -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 = sasum( N, x, stride );
80+
var sum = sasum( 4, x, 2 );
8581
// returns 10.0
8682
```
8783

8884
Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
8985

9086
```javascript
9187
var Float32Array = require( '@stdlib/array/float32' );
92-
var floor = require( '@stdlib/math/base/special/floor' );
9388

94-
// Initial array...
89+
// Initial array:
9590
var x0 = new Float32Array( [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ] );
9691

97-
// Create an offset view...
92+
// Create an offset view:
9893
var x1 = new Float32Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
9994

100-
var N = floor( x0.length / 2 );
101-
102-
// Sum every other value...
103-
var sum = sasum( N, x1, 2 );
95+
// Sum every other value:
96+
var sum = sasum( 3, x1, 2 );
10497
// returns 12.0
10598
```
10699

@@ -160,28 +153,17 @@ sum = sasum.ndarray( 3, x, -1, x.length-1 );
160153
<!-- eslint no-undef: "error" -->
161154

162155
```javascript
163-
var round = require( '@stdlib/math/base/special/round' );
164-
var randu = require( '@stdlib/random/base/randu' );
165-
var Float32Array = require( '@stdlib/array/float32' );
156+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
166157
var sasum = require( '@stdlib/blas/base/sasum' );
167158

168-
var rand;
169-
var sign;
170-
var x;
171-
var i;
172-
173-
x = new Float32Array( 100 );
174-
for ( i = 0; i < x.length; i++ ) {
175-
rand = round( randu()*100.0 );
176-
sign = randu();
177-
if ( sign < 0.5 ) {
178-
sign = -1.0;
179-
} else {
180-
sign = 1.0;
181-
}
182-
x[ i ] = sign * rand;
183-
}
184-
console.log( sasum( x.length, x, 1 ) );
159+
var opts = {
160+
'dtype': 'float32'
161+
};
162+
var x = discreteUniform( 10, -100, 100, opts );
163+
console.log( x );
164+
165+
var out = sasum( x.length, x, 1 );
166+
console.log( out );
185167
```
186168

187169
</section>

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

+9-9
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/array/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pow = require( '@stdlib/math/base/special/pow' );
27-
var Float32Array = require( '@stdlib/array/float32' );
2827
var pkg = require( './../package.json' ).name;
2928
var sasum = require( './../lib/sasum.js' );
3029

3130

31+
// VARIABLES //
32+
33+
var options = {
34+
'dtype': 'float32'
35+
};
36+
37+
3238
// FUNCTIONS //
3339

3440
/**
@@ -39,13 +45,7 @@ var sasum = require( './../lib/sasum.js' );
3945
* @returns {Function} benchmark function
4046
*/
4147
function createBenchmark( len ) {
42-
var x;
43-
var i;
44-
45-
x = new Float32Array( len );
46-
for ( i = 0; i < x.length; i++ ) {
47-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
48-
}
48+
var x = uniform( len, -100.0, 100.0, options );
4949
return benchmark;
5050

5151
/**

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

+5-9
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@
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/array/uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2727
var pow = require( '@stdlib/math/base/special/pow' );
28-
var Float32Array = require( '@stdlib/array/float32' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
3029
var pkg = require( './../package.json' ).name;
3130

@@ -36,6 +35,9 @@ var sasum = tryRequire( resolve( __dirname, './../lib/sasum.native.js' ) );
3635
var opts = {
3736
'skip': ( sasum instanceof Error )
3837
};
38+
var options = {
39+
'dtype': 'float32'
40+
};
3941

4042

4143
// FUNCTIONS //
@@ -48,13 +50,7 @@ var opts = {
4850
* @returns {Function} benchmark function
4951
*/
5052
function createBenchmark( len ) {
51-
var x;
52-
var i;
53-
54-
x = new Float32Array( len );
55-
for ( i = 0; i < x.length; i++ ) {
56-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
57-
}
53+
var x = uniform( len, -100.0, 100.0, options );
5854
return benchmark;
5955

6056
/**

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

+9-9
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/array/uniform' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var pow = require( '@stdlib/math/base/special/pow' );
27-
var Float32Array = require( '@stdlib/array/float32' );
2827
var pkg = require( './../package.json' ).name;
2928
var sasum = require( './../lib/ndarray.js' );
3029

3130

31+
// VARIABLES //
32+
33+
var options = {
34+
'dtype': 'float32'
35+
};
36+
37+
3238
// FUNCTIONS //
3339

3440
/**
@@ -39,13 +45,7 @@ var sasum = require( './../lib/ndarray.js' );
3945
* @returns {Function} benchmark function
4046
*/
4147
function createBenchmark( len ) {
42-
var x;
43-
var i;
44-
45-
x = new Float32Array( len );
46-
for ( i = 0; i < x.length; i++ ) {
47-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
48-
}
48+
var x = uniform( len, -100.0, 100.0, options );
4949
return benchmark;
5050

5151
/**

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

+5-9
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@
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/array/uniform' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2727
var pow = require( '@stdlib/math/base/special/pow' );
28-
var Float32Array = require( '@stdlib/array/float32' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
3029
var pkg = require( './../package.json' ).name;
3130

@@ -36,6 +35,9 @@ var sasum = tryRequire( resolve( __dirname, './../lib/ndarray.native.js' ) );
3635
var opts = {
3736
'skip': ( sasum instanceof Error )
3837
};
38+
var options = {
39+
'dtype': 'float32'
40+
};
3941

4042

4143
// FUNCTIONS //
@@ -48,13 +50,7 @@ var opts = {
4850
* @returns {Function} benchmark function
4951
*/
5052
function createBenchmark( len ) {
51-
var x;
52-
var i;
53-
54-
x = new Float32Array( len );
55-
for ( i = 0; i < x.length; i++ ) {
56-
x[ i ] = ( randu()*20000.0 ) - 10000.0;
57-
}
53+
var x = uniform( len, -100.0, 100.0, options );
5854
return benchmark;
5955

6056
/**

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

+8-19
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,14 @@
1818

1919
'use strict';
2020

21-
var round = require( '@stdlib/math/base/special/round' );
22-
var randu = require( '@stdlib/random/base/randu' );
23-
var Float32Array = require( '@stdlib/array/float32' );
21+
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
2422
var sasum = require( './../lib' );
2523

26-
var rand;
27-
var sign;
28-
var x;
29-
var i;
24+
var opts = {
25+
'dtype': 'float32'
26+
};
27+
var x = discreteUniform( 10, -100, 100, opts );
28+
console.log( x );
3029

31-
x = new Float32Array( 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( sasum( x.length, x, 1 ) );
30+
var out = sasum( x.length, x, 1 );
31+
console.log( out );

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

+1-1
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/sasum/lib/ndarray.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
// MODULES //
2222

23-
var abs = require( '@stdlib/math/base/special/abs' );
23+
var absf = require( '@stdlib/math/base/special/absf' );
2424
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
2525

2626

@@ -54,7 +54,7 @@ function sasum( N, x, stride, offset ) {
5454
}
5555
ix = offset;
5656
for ( i = 0; i < N; i++ ) {
57-
sum = float64ToFloat32( sum + abs( x[ix] ) );
57+
sum = float64ToFloat32( sum + absf( x[ix] ) );
5858
ix += stride;
5959
}
6060
return sum;

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

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020

2121
// MODULES //
2222

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

2627

@@ -45,11 +46,11 @@ var addon = require( './sasum.native.js' );
4546
*/
4647
function sasum( 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 Float32Array( 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

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
// MODULES //
2222

23-
var abs = require( '@stdlib/math/base/special/abs' );
23+
var absf = require( '@stdlib/math/base/special/absf' );
2424
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
2525

2626

@@ -52,7 +52,7 @@ function sasum( N, x, stride ) {
5252
}
5353
N *= stride;
5454
for ( i = 0; i < N; i += stride ) {
55-
sum = float64ToFloat32( sum + abs( x[i] ) );
55+
sum = float64ToFloat32( sum + absf( x[i] ) );
5656
}
5757
return sum;
5858
}

0 commit comments

Comments
 (0)