Skip to content

Commit d66d80c

Browse files
committed
Refactor and clean-up
1 parent ee0cdc9 commit d66d80c

25 files changed

+229
-371
lines changed

Diff for: lib/node_modules/@stdlib/blas/base/saxpy/README.md

+10-25
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,17 @@ The function has the following parameters:
5454
- **y**: input [`Float32Array`][mdn-float32array].
5555
- **strideY**: index increment for `y`.
5656

57-
The `N` and `stride` parameters determine which elements in `x` and `y` are accessed at runtime. For example, to multiply every other value in `x` by `alpha` and add the result to the first `N` elements of `y` in reverse order,
57+
The `N` and stride parameters determine which elements in the strided arrays are accessed at runtime. For example, to multiply every other value in `x` by `alpha` and add the result to the first `N` elements of `y` in reverse order,
5858

5959
```javascript
6060
var Float32Array = require( '@stdlib/array/float32' );
61-
var floor = require( '@stdlib/math/base/special/floor' );
6261

6362
var x = new Float32Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
6463
var y = new Float32Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
6564

6665
var alpha = 5.0;
67-
var N = floor( x.length / 2 );
6866

69-
saxpy( N, alpha, x, 2, y, -1 );
67+
saxpy( 3, alpha, x, 2, y, -1 );
7068
// y => <Float32Array>[ 26.0, 16.0, 6.0, 1.0, 1.0, 1.0 ]
7169
```
7270

@@ -76,7 +74,6 @@ Note that indexing is relative to the first index. To introduce an offset, use [
7674

7775
```javascript
7876
var Float32Array = require( '@stdlib/array/float32' );
79-
var floor = require( '@stdlib/math/base/special/floor' );
8077

8178
// Initial arrays...
8279
var x0 = new Float32Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
@@ -86,9 +83,7 @@ var y0 = new Float32Array( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
8683
var x1 = new Float32Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
8784
var y1 = new Float32Array( y0.buffer, y0.BYTES_PER_ELEMENT*3 ); // start at 4th element
8885

89-
var N = floor( x0.length / 2 );
90-
91-
saxpy( N, 5.0, x1, -2, y1, 1 );
86+
saxpy( 3, 5.0, x1, -2, y1, 1 );
9287
// y0 => <Float32Array>[ 7.0, 8.0, 9.0, 40.0, 31.0, 22.0 ]
9388
```
9489

@@ -112,19 +107,17 @@ The function has the following additional parameters:
112107
- **offsetX**: starting index for `x`.
113108
- **offsetY**: starting index for `y`.
114109

115-
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying `buffer`, the `offsetX` and `offsetY` parameters support indexing semantics based on starting indices. For example, to multiply every other value in `x` by a constant `alpha` starting from the second value and add to the last `N` elements in `y` where `x[i] -> y[n]`, `x[i+2] -> y[n-1]`,...,
110+
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying `buffer`, the offset parameters support indexing semantics based on starting indices. For example, to multiply every other value in `x` by a constant `alpha` starting from the second value and add to the last `N` elements in `y` where `x[i] -> y[n]`, `x[i+2] -> y[n-1]`,...,
116111

117112
```javascript
118113
var Float32Array = require( '@stdlib/array/float32' );
119-
var floor = require( '@stdlib/math/base/special/floor' );
120114

121115
var x = new Float32Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
122116
var y = new Float32Array( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
123117

124118
var alpha = 5.0;
125-
var N = floor( x.length / 2 );
126119

127-
saxpy.ndarray( N, alpha, x, 2, 1, y, -1, y.length-1 );
120+
saxpy.ndarray( 3, alpha, x, 2, 1, y, -1, y.length-1 );
128121
// y => <Float32Array>[ 7.0, 8.0, 9.0, 40.0, 31.0, 22.0 ]
129122
```
130123

@@ -150,22 +143,14 @@ saxpy.ndarray( N, alpha, x, 2, 1, y, -1, y.length-1 );
150143
<!-- eslint no-undef: "error" -->
151144

152145
```javascript
153-
var randu = require( '@stdlib/random/base/randu' );
154-
var round = require( '@stdlib/math/base/special/round' );
155-
var Float32Array = require( '@stdlib/array/float32' );
146+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
147+
var filledarrayBy = require( '@stdlib/array/filled-by' );
156148
var saxpy = require( '@stdlib/blas/base/saxpy' );
157149

158-
var x;
159-
var y;
160-
var i;
161-
162-
x = new Float32Array( 10 );
163-
y = new Float32Array( 10 );
164-
for ( i = 0; i < x.length; i++ ) {
165-
x[ i ] = round( randu()*100.0 );
166-
y[ i ] = round( randu()*10.0 );
167-
}
150+
var x = filledarrayBy( 10, 'float32', discreteUniform( 0, 100 ) );
168151
console.log( x );
152+
153+
var y = filledarrayBy( x.length, 'float32', discreteUniform( 0, 10 ) );
169154
console.log( y );
170155

171156
saxpy.ndarray( x.length, 5.0, x, 1, 0, y, -1, y.length-1 );

Diff for: lib/node_modules/@stdlib/blas/base/saxpy/benchmark/benchmark.js

+9-12
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 Float32Array = require( '@stdlib/array/float32' );
2828
var pkg = require( './../package.json' ).name;
2929
var saxpy = require( './../lib/saxpy.js' );
3030

3131

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

3439
/**
@@ -39,16 +44,8 @@ var saxpy = require( './../lib/saxpy.js' );
3944
* @returns {Function} benchmark function
4045
*/
4146
function createBenchmark( len ) {
42-
var x;
43-
var y;
44-
var i;
45-
46-
x = new Float32Array( len );
47-
y = new Float32Array( len );
48-
for ( i = 0; i < x.length; i++ ) {
49-
x[ i ] = ( randu()*200.0 ) - 100.0;
50-
y[ i ] = ( randu()*200.0 ) - 100.0;
51-
}
47+
var x = filledarrayBy( len, 'float32', rand );
48+
var y = filledarrayBy( len, 'float32', rand );
5249
return benchmark;
5350

5451
/**

Diff for: lib/node_modules/@stdlib/blas/base/saxpy/benchmark/benchmark.native.js

+5-12
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 Float32Array = require( '@stdlib/array/float32' );
2929
var tryRequire = require( '@stdlib/utils/try-require' );
3030
var pkg = require( './../package.json' ).name;
3131

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

4041

4142
// FUNCTIONS //
@@ -48,16 +49,8 @@ var opts = {
4849
* @returns {Function} benchmark function
4950
*/
5051
function createBenchmark( len ) {
51-
var x;
52-
var y;
53-
var i;
54-
55-
x = new Float32Array( len );
56-
y = new Float32Array( len );
57-
for ( i = 0; i < x.length; i++ ) {
58-
x[ i ] = ( randu()*200.0 ) - 100.0;
59-
y[ i ] = ( randu()*200.0 ) - 100.0;
60-
}
52+
var x = filledarrayBy( len, 'float32', rand );
53+
var y = filledarrayBy( len, 'float32', rand );
6154
return benchmark;
6255

6356
/**

Diff for: lib/node_modules/@stdlib/blas/base/saxpy/benchmark/benchmark.ndarray.js

+9-12
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 Float32Array = require( '@stdlib/array/float32' );
2828
var pkg = require( './../package.json' ).name;
2929
var saxpy = require( './../lib/ndarray.js' );
3030

3131

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

3439
/**
@@ -39,16 +44,8 @@ var saxpy = require( './../lib/ndarray.js' );
3944
* @returns {Function} benchmark function
4045
*/
4146
function createBenchmark( len ) {
42-
var x;
43-
var y;
44-
var i;
45-
46-
x = new Float32Array( len );
47-
y = new Float32Array( len );
48-
for ( i = 0; i < x.length; i++ ) {
49-
x[ i ] = ( randu()*200.0 ) - 100.0;
50-
y[ i ] = ( randu()*200.0 ) - 100.0;
51-
}
47+
var x = filledarrayBy( len, 'float32', rand );
48+
var y = filledarrayBy( len, 'float32', rand );
5249
return benchmark;
5350

5451
/**

Diff for: lib/node_modules/@stdlib/blas/base/saxpy/benchmark/benchmark.ndarray.native.js

+5-12
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 Float32Array = require( '@stdlib/array/float32' );
2929
var tryRequire = require( '@stdlib/utils/try-require' );
3030
var pkg = require( './../package.json' ).name;
3131

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

4041

4142
// FUNCTIONS //
@@ -48,16 +49,8 @@ var opts = {
4849
* @returns {Function} benchmark function
4950
*/
5051
function createBenchmark( len ) {
51-
var x;
52-
var y;
53-
var i;
54-
55-
x = new Float32Array( len );
56-
y = new Float32Array( len );
57-
for ( i = 0; i < x.length; i++ ) {
58-
x[ i ] = ( randu()*200.0 ) - 100.0;
59-
y[ i ] = ( randu()*200.0 ) - 100.0;
60-
}
52+
var x = filledarrayBy( len, 'float32', rand );
53+
var y = filledarrayBy( len, 'float32', rand );
6154
return benchmark;
6255

6356
/**

Diff for: lib/node_modules/@stdlib/blas/base/saxpy/docs/repl.txt

+12-15
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
{{alias}}( N, alpha, x, strideX, y, strideY )
33
Multiplies a vector `x` by a constant `alpha` and adds the result to `y`.
44

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

88
Indexing is relative to the first index. To introduce an offset, use typed
99
array views.
@@ -25,15 +25,15 @@
2525
Index increment for `x`.
2626

2727
y: Float32Array
28-
Destination array.
28+
Output array.
2929

3030
strideY: integer
3131
Index increment for `y`.
3232

3333
Returns
3434
-------
3535
y: Float32Array
36-
Input array `y`.
36+
Output array.
3737

3838
Examples
3939
--------
@@ -44,20 +44,18 @@
4444
> {{alias}}( x.length, alpha, x, 1, y, 1 )
4545
<Float32Array>[ 6.0, 11.0, 16.0, 21.0, 26.0 ]
4646

47-
// Using `N` and `stride` parameters:
47+
// Using `N` and stride parameters:
4848
> x = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
4949
> y = new {{alias:@stdlib/array/float32}}( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
50-
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
51-
> {{alias}}( N, alpha, x, 2, y, -1 )
50+
> {{alias}}( 3, alpha, x, 2, y, -1 )
5251
<Float32Array>[ 26.0, 16.0, 6.0, 1.0, 1.0, 1.0 ]
5352

5453
// Using view offsets:
5554
> var x0 = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
5655
> var y0 = new {{alias:@stdlib/array/float32}}( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
5756
> var x1 = new {{alias:@stdlib/array/float32}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
5857
> var y1 = new {{alias:@stdlib/array/float32}}( y0.buffer, y0.BYTES_PER_ELEMENT*3 );
59-
> N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 );
60-
> {{alias}}( N, 5.0, x1, -2, y1, 1 )
58+
> {{alias}}( 3, 5.0, x1, -2, y1, 1 )
6159
<Float32Array>[ 40.0, 31.0, 22.0 ]
6260
> y0
6361
<Float32Array>[ 7.0, 8.0, 9.0, 40.0, 31.0, 22.0 ]
@@ -68,8 +66,8 @@
6866
using alternative indexing semantics.
6967

7068
While typed array views mandate a view offset based on the underlying
71-
buffer, the `offsetX` and `offsetY` parameters support indexing semantics
72-
based on starting indices.
69+
buffer, the offset parameters support indexing semantics based on starting
70+
indices.
7371

7472
Parameters
7573
----------
@@ -89,7 +87,7 @@
8987
Starting index for `x`.
9088

9189
y: Float32Array
92-
Destination array.
90+
Output array.
9391

9492
strideY: integer
9593
Index increment for `y`.
@@ -100,7 +98,7 @@
10098
Returns
10199
-------
102100
y: Float32Array
103-
Input array `y`.
101+
Output array.
104102

105103
Examples
106104
--------
@@ -114,8 +112,7 @@
114112
// Advanced indexing:
115113
> x = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
116114
> y = new {{alias:@stdlib/array/float32}}( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
117-
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
118-
> {{alias}}.ndarray( N, alpha, x, 2, 1, y, -1, y.length-1 )
115+
> {{alias}}.ndarray( 3, alpha, x, 2, 1, y, -1, y.length-1 )
119116
<Float32Array>[ 7.0, 8.0, 9.0, 40.0, 31.0, 22.0 ]
120117

121118
See Also

Diff for: lib/node_modules/@stdlib/blas/base/saxpy/docs/types/index.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ interface Routine {
2929
* @param alpha - constant
3030
* @param x - input array
3131
* @param strideX - `x` stride length
32-
* @param y - destination array
32+
* @param y - output array
3333
* @param strideY - `y` stride length
34-
* @returns `y`
34+
* @returns output array
3535
*
3636
* @example
3737
* var Float32Array = require( `@stdlib/array/float32` );
@@ -52,10 +52,10 @@ interface Routine {
5252
* @param x - input array
5353
* @param strideX - `x` stride length
5454
* @param offsetX - starting index for `x`
55-
* @param y - destination array
55+
* @param y - output array
5656
* @param strideY - `y` stride length
5757
* @param offsetY - starting index for `y`
58-
* @returns `y`
58+
* @returns output array
5959
*
6060
* @example
6161
* var Float32Array = require( `@stdlib/array/float32` );
@@ -76,9 +76,9 @@ interface Routine {
7676
* @param alpha - constant
7777
* @param x - input array
7878
* @param strideX - `x` stride length
79-
* @param y - destination array
79+
* @param y - output array
8080
* @param strideY - `y` stride length
81-
* @returns `y`
81+
* @returns output array
8282
*
8383
* @example
8484
* var Float32Array = require( `@stdlib/array/float32` );

0 commit comments

Comments
 (0)