Skip to content

Commit 025adb3

Browse files
authored
docs: update examples and benchmarks in stats/base/nanmskrange
PR-URL: #7424 Reviewed-by: Athan Reines <[email protected]>
1 parent 0902a5b commit 025adb3

File tree

4 files changed

+66
-38
lines changed

4 files changed

+66
-38
lines changed

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

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,22 @@ var v = nanmskrange.ndarray( 4, x, 2, 1, mask, 2, 1 );
136136
<!-- eslint no-undef: "error" -->
137137

138138
```javascript
139-
var uniform = require( '@stdlib/random/array/uniform' );
140-
var bernoulli = require( '@stdlib/random/array/bernoulli' );
139+
var uniform = require( '@stdlib/random/base/uniform' );
140+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
141+
var filledarrayBy = require( '@stdlib/array/filled-by' );
141142
var nanmskrange = require( '@stdlib/stats/base/nanmskrange' );
142143

143-
var x = uniform( 10, -50.0, 50.0, {
144-
'dtype': 'float64'
145-
});
144+
function rand() {
145+
if ( bernoulli( 0.8 ) < 1 ) {
146+
return NaN;
147+
}
148+
return uniform( -50.0, 50.0 );
149+
}
150+
151+
var x = filledarrayBy( 10, 'float64', rand );
146152
console.log( x );
147153

148-
var mask = bernoulli( x.length, 0.2, {
149-
'dtype': 'uint8'
150-
});
154+
var mask = filledarrayBy( x.length, 'uint8', bernoulli.factory( 0.2 ) );
151155
console.log( mask );
152156

153157
var v = nanmskrange( x.length, x, 1, mask, 1 );

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

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,30 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/array/uniform' );
25-
var bernoulli = require( '@stdlib/random/array/bernoulli' );
24+
var uniform = require( '@stdlib/random/base/uniform' );
25+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
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 pkg = require( './../package.json' ).name;
2930
var nanmskrange = require( './../lib/nanmskrange.js' );
3031

3132

32-
// VARIABLES //
33-
34-
var options = {
35-
'dtype': 'generic'
36-
};
37-
38-
3933
// FUNCTIONS //
4034

35+
/**
36+
* Returns a random value or `NaN`.
37+
*
38+
* @private
39+
* @returns {number} random number or `NaN`
40+
*/
41+
function rand() {
42+
if ( bernoulli( 0.8 ) < 1 ) {
43+
return NaN;
44+
}
45+
return uniform( -10.0, 10.0 );
46+
}
47+
4148
/**
4249
* Creates a benchmark function.
4350
*
@@ -46,8 +53,11 @@ var options = {
4653
* @returns {Function} benchmark function
4754
*/
4855
function createBenchmark( len ) {
49-
var mask = bernoulli( len, 0.2, options );
50-
var x = uniform( len, -10.0, 10.0, options );
56+
var mask;
57+
var x;
58+
59+
x = filledarrayBy( len, 'generic', rand );
60+
mask = filledarrayBy( len, 'uint8', bernoulli.factory( 0.2 ) );
5161
return benchmark;
5262

5363
function benchmark( b ) {

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

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,30 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/array/uniform' );
25-
var bernoulli = require( '@stdlib/random/array/bernoulli' );
24+
var uniform = require( '@stdlib/random/base/uniform' );
25+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
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 pkg = require( './../package.json' ).name;
2930
var nanmskrange = require( './../lib/ndarray.js' );
3031

3132

32-
// VARIABLES //
33-
34-
var options = {
35-
'dtype': 'generic'
36-
};
37-
38-
3933
// FUNCTIONS //
4034

35+
/**
36+
* Returns a random value or `NaN`.
37+
*
38+
* @private
39+
* @returns {number} random number or `NaN`
40+
*/
41+
function rand() {
42+
if ( bernoulli( 0.8 ) < 1 ) {
43+
return NaN;
44+
}
45+
return uniform( -10.0, 10.0 );
46+
}
47+
4148
/**
4249
* Creates a benchmark function.
4350
*
@@ -46,8 +53,11 @@ var options = {
4653
* @returns {Function} benchmark function
4754
*/
4855
function createBenchmark( len ) {
49-
var mask = bernoulli( len, 0.2, options );
50-
var x = uniform( len, -10.0, 10.0, options );
56+
var mask;
57+
var x;
58+
59+
x = filledarrayBy( len, 'generic', rand );
60+
mask = filledarrayBy( len, 'uint8', bernoulli.factory( 0.2 ) );
5161
return benchmark;
5262

5363
function benchmark( b ) {

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

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

1919
'use strict';
2020

21-
var uniform = require( '@stdlib/random/array/uniform' );
22-
var bernoulli = require( '@stdlib/random/array/bernoulli' );
21+
var uniform = require( '@stdlib/random/base/uniform' );
22+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
23+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2324
var nanmskrange = require( './../lib' );
2425

25-
var x = uniform( 10, -50.0, 50.0, {
26-
'dtype': 'float64'
27-
});
26+
function rand() {
27+
if ( bernoulli( 0.8 ) < 1 ) {
28+
return NaN;
29+
}
30+
return uniform( -50.0, 50.0 );
31+
}
32+
33+
var x = filledarrayBy( 10, 'float64', rand );
2834
console.log( x );
2935

30-
var mask = bernoulli( x.length, 0.2, {
31-
'dtype': 'uint8'
32-
});
36+
var mask = filledarrayBy( x.length, 'uint8', bernoulli.factory( 0.2 ) );
3337
console.log( mask );
3438

3539
var v = nanmskrange( x.length, x, 1, mask, 1 );

0 commit comments

Comments
 (0)