Skip to content

Commit a9d9570

Browse files
authored
feat: update benchmarks and examples
1 parent 829cd07 commit a9d9570

File tree

7 files changed

+54
-112
lines changed

7 files changed

+54
-112
lines changed

lib/node_modules/@stdlib/stats/base/smskrange/README.md

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ The function has the following additional parameters:
112112
- **offsetX**: starting index for `x`.
113113
- **offsetMask**: starting index for `mask`.
114114

115-
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset parameters support indexing semantics based on a starting index. For example, to calculate the [range][range] for every other value in `x` starting from the second value
115+
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset parameters support indexing semantics based on a starting indices. For example, to calculate the [range][range] for every other element in `x` starting from the second element
116116

117117
```javascript
118118
var Float32Array = require( '@stdlib/array/float32' );
@@ -146,26 +146,19 @@ var v = smskrange.ndarray( 4, x, 2, 1, mask, 2, 1 );
146146
<!-- eslint no-undef: "error" -->
147147

148148
```javascript
149-
var randu = require( '@stdlib/random/base/randu' );
150-
var round = require( '@stdlib/math/base/special/round' );
151-
var Float32Array = require( '@stdlib/array/float32' );
152-
var Uint8Array = require( '@stdlib/array/uint8' );
149+
var uniform = require( '@stdlib/random/array/uniform' );
150+
var bernoulli = require( '@stdlib/random/array/bernoulli' );
153151
var smskrange = require( '@stdlib/stats/base/smskrange' );
154152

155-
var mask;
156-
var x;
157-
var i;
158-
159-
x = new Float32Array( 10 );
160-
mask = new Uint8Array( x.length );
161-
for ( i = 0; i < x.length; i++ ) {
162-
if ( randu() < 0.2 ) {
163-
mask[ i ] = 1;
164-
} else {
165-
mask[ i ] = 0;
166-
}
167-
x[ i ] = round( (randu()*100.0) - 50.0 );
168-
}
153+
var uniformOptions = {
154+
'dtype': 'float32'
155+
};
156+
var bernoulliOptions = {
157+
'dtype': 'uint8'
158+
};
159+
160+
var x = uniform( 10, -50.0, 50.0, uniformOptions );
161+
var mask = bernoulli( x.length, 0.2, bernoulliOptions );
169162
console.log( x );
170163
console.log( mask );
171164

@@ -195,7 +188,7 @@ Computes the [range][range] of a single-precision floating-point strided array a
195188
#include <stdint.h>
196189

197190
const float x[] = { 1.0f, -2.0f, 2.0f };
198-
const uint8_t mask = { 0, 1, 0 };
191+
const uint8_t mask[] = { 0, 1, 0 };
199192

200193
float v = stdlib_strided_smskrange( 3, x, 1, mask, 1 );
201194
// returns 1.0f
@@ -223,7 +216,7 @@ Computes the [range][range] of a single-precision floating-point strided array a
223216
#include <stdint.h>
224217

225218
const float x[] = { 1.0f, -2.0f, 2.0f };
226-
const uint8_t mask = { 0, 1, 0 };
219+
const uint8_t mask[] = { 0, 1, 0 };
227220

228221
float v = stdlib_strided_smskrange( 3, x, 1, 0, mask, 1, 0 );
229222
// returns 1.0f
@@ -271,7 +264,7 @@ int main( void ) {
271264
const float x[] = { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f };
272265

273266
// Create a mask array:
274-
uint8_t mask[] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 };
267+
const uint8_t mask[] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 };
275268

276269
// Specify the number of elements:
277270
const int N = 5;

lib/node_modules/@stdlib/stats/base/smskrange/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
2424
var uniform = require( '@stdlib/random/array/uniform' );
25-
var bernoulli = require( '@stdlib/random/base/bernoulli' );
26-
var filledarrayBy = require( '@stdlib/array/filled-by' );
25+
var bernoulli = require( '@stdlib/random/array/bernoulli' );
2726
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2827
var pow = require( '@stdlib/math/base/special/pow' );
2928
var pkg = require( './../package.json' ).name;
@@ -32,26 +31,16 @@ var smskrange = require( './../lib/smskrange.js' );
3231

3332
// VARIABLES //
3433

35-
var options = {
34+
var uniformOptions = {
3635
'dtype': 'float32'
3736
};
37+
var bernoulliOptions = {
38+
'dtype': 'uint8'
39+
};
3840

3941

4042
// FUNCTIONS //
4143

42-
/**
43-
* Returns either one or zero.
44-
*
45-
* @private
46-
* @returns {number} one or zero
47-
*/
48-
function rand() {
49-
if ( bernoulli( 0.2 ) ) {
50-
return 1;
51-
}
52-
return 0;
53-
}
54-
5544
/**
5645
* Creates a benchmark function.
5746
*
@@ -60,8 +49,8 @@ function rand() {
6049
* @returns {Function} benchmark function
6150
*/
6251
function createBenchmark( len ) {
63-
var mask = filledarrayBy( len, 'uint8', rand );
64-
var x = uniform( len, -10.0, 10.0, options );
52+
var mask = bernoulli( len, 0.2, bernoulliOptions );
53+
var x = uniform( len, -10.0, 10.0, uniformOptions );
6554
return benchmark;
6655

6756
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/smskrange/benchmark/benchmark.native.js

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var uniform = require( '@stdlib/random/array/uniform' );
26-
var bernoulli = require( '@stdlib/random/base/bernoulli' );
27-
var filledarrayBy = require( '@stdlib/array/filled-by' );
26+
var bernoulli = require( '@stdlib/random/array/bernoulli' );
2827
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2928
var pow = require( '@stdlib/math/base/special/pow' );
3029
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -37,26 +36,16 @@ var smskrange = tryRequire( resolve( __dirname, './../lib/smskrange.native.js' )
3736
var opts = {
3837
'skip': ( smskrange instanceof Error )
3938
};
40-
var options = {
39+
var uniformOptions = {
4140
'dtype': 'float32'
4241
};
42+
var bernoulliOptions = {
43+
'dtype': 'uint8'
44+
};
4345

4446

4547
// FUNCTIONS //
4648

47-
/**
48-
* Returns either one or zero.
49-
*
50-
* @private
51-
* @returns {number} one or zero
52-
*/
53-
function rand() {
54-
if ( bernoulli( 0.2 ) ) {
55-
return 1;
56-
}
57-
return 0;
58-
}
59-
6049
/**
6150
* Creates a benchmark function.
6251
*
@@ -65,8 +54,8 @@ function rand() {
6554
* @returns {Function} benchmark function
6655
*/
6756
function createBenchmark( len ) {
68-
var mask = filledarrayBy( len, 'uint8', rand );
69-
var x = uniform( len, -10.0, 10.0, options );
57+
var mask = bernoulli( len, 0.2, bernoulliOptions );
58+
var x = uniform( len, -10.0, 10.0, uniformOptions );
7059
return benchmark;
7160

7261
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/smskrange/benchmark/benchmark.ndarray.js

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

2323
var bench = require( '@stdlib/bench' );
2424
var uniform = require( '@stdlib/random/array/uniform' );
25-
var bernoulli = require( '@stdlib/random/base/bernoulli' );
26-
var filledarrayBy = require( '@stdlib/array/filled-by' );
25+
var bernoulli = require( '@stdlib/random/array/bernoulli' );
2726
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2827
var pow = require( '@stdlib/math/base/special/pow' );
2928
var pkg = require( './../package.json' ).name;
@@ -32,26 +31,16 @@ var smskrange = require( './../lib/ndarray.js' );
3231

3332
// VARIABLES //
3433

35-
var options = {
34+
var uniformOptions = {
3635
'dtype': 'float32'
3736
};
37+
var bernoulliOptions = {
38+
'dtype': 'uint8'
39+
};
3840

3941

4042
// FUNCTIONS //
4143

42-
/**
43-
* Returns either one or zero.
44-
*
45-
* @private
46-
* @returns {number} one or zero
47-
*/
48-
function rand() {
49-
if ( bernoulli( 0.2 ) ) {
50-
return 1;
51-
}
52-
return 0;
53-
}
54-
5544
/**
5645
* Creates a benchmark function.
5746
*
@@ -60,8 +49,8 @@ function rand() {
6049
* @returns {Function} benchmark function
6150
*/
6251
function createBenchmark( len ) {
63-
var mask = filledarrayBy( len, 'uint8', rand );
64-
var x = uniform( len, -10.0, 10.0, options );
52+
var mask = bernoulli( len, 0.2, bernoulliOptions );
53+
var x = uniform( len, -10.0, 10.0, uniformOptions );
6554
return benchmark;
6655

6756
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/smskrange/benchmark/benchmark.ndarray.native.js

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var uniform = require( '@stdlib/random/array/uniform' );
26-
var bernoulli = require( '@stdlib/random/base/bernoulli' );
27-
var filledarrayBy = require( '@stdlib/array/filled-by' );
26+
var bernoulli = require( '@stdlib/random/array/bernoulli' );
2827
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2928
var pow = require( '@stdlib/math/base/special/pow' );
3029
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -37,26 +36,16 @@ var smskrange = tryRequire( resolve( __dirname, './../lib/ndarray.native.js' ) )
3736
var opts = {
3837
'skip': ( smskrange instanceof Error )
3938
};
40-
var options = {
39+
var uniformOptions = {
4140
'dtype': 'float32'
4241
};
42+
var bernoulliOptions = {
43+
'dtype': 'uint8'
44+
};
4345

4446

4547
// FUNCTIONS //
4648

47-
/**
48-
* Returns either one or zero.
49-
*
50-
* @private
51-
* @returns {number} one or zero
52-
*/
53-
function rand() {
54-
if ( bernoulli( 0.2 ) ) {
55-
return 1;
56-
}
57-
return 0;
58-
}
59-
6049
/**
6150
* Creates a benchmark function.
6251
*
@@ -65,8 +54,8 @@ function rand() {
6554
* @returns {Function} benchmark function
6655
*/
6756
function createBenchmark( len ) {
68-
var mask = filledarrayBy( len, 'uint8', rand );
69-
var x = uniform( len, -10.0, 10.0, options );
57+
var mask = bernoulli( len, 0.2, bernoulliOptions );
58+
var x = uniform( len, -10.0, 10.0, uniformOptions );
7059
return benchmark;
7160

7261
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/smskrange/docs/repl.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Computes the range of a single-precision floating-point strided array
44
according to a mask.
55

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

99
Indexing is relative to the first index. To introduce offsets, use a typed

lib/node_modules/@stdlib/stats/base/smskrange/examples/index.js

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,19 @@
1818

1919
'use strict';
2020

21-
var randu = require( '@stdlib/random/base/randu' );
22-
var round = require( '@stdlib/math/base/special/round' );
23-
var Float32Array = require( '@stdlib/array/float32' );
24-
var Uint8Array = require( '@stdlib/array/uint8' );
21+
var uniform = require( '@stdlib/random/array/uniform' );
22+
var bernoulli = require( '@stdlib/random/array/bernoulli' );
2523
var smskrange = require( './../lib' );
2624

27-
var mask;
28-
var x;
29-
var i;
25+
var uniformOptions = {
26+
'dtype': 'float32'
27+
};
28+
var bernoulliOptions = {
29+
'dtype': 'uint8'
30+
};
3031

31-
x = new Float32Array( 10 );
32-
mask = new Uint8Array( x.length );
33-
for ( i = 0; i < x.length; i++ ) {
34-
if ( randu() < 0.2 ) {
35-
mask[ i ] = 1;
36-
} else {
37-
mask[ i ] = 0;
38-
}
39-
x[ i ] = round( (randu()*100.0) - 50.0 );
40-
}
32+
var x = uniform( 10, -50.0, 50.0, uniformOptions );
33+
var mask = bernoulli( x.length, 0.2, bernoulliOptions );
4134
console.log( x );
4235
console.log( mask );
4336

0 commit comments

Comments
 (0)