Skip to content

Commit f6ef0cb

Browse files
fix: added NaN to examples
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 004b3c4 commit f6ef0cb

File tree

5 files changed

+68
-38
lines changed

5 files changed

+68
-38
lines changed

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

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,21 +121,21 @@ The `N` and stride parameters determine which elements in the strided array are
121121
```javascript
122122
var x = [ 1.0, 2.0, 2.0, -7.0, -2.0, 3.0, 4.0, 2.0, NaN ];
123123

124-
var v = nanvariancetk( 4, 1, x, 2 );
124+
var v = nanvariancetk( 5, 1, x, 2 );
125125
// returns 6.25
126126
```
127127

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

130-
<!-- eslint-disable stdlib/capitalized-comments -->
130+
<!-- eslint-disable stdlib/capitalized-comments, max-len -->
131131

132132
```javascript
133133
var Float64Array = require( '@stdlib/array/float64' );
134134

135-
var x0 = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, NaN ] );
135+
var x0 = new Float64Array( [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, NaN, NaN ] );
136136
var x1 = new Float64Array( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
137137

138-
var v = nanvariancetk( 4, 1, x1, 2 );
138+
var v = nanvariancetk( 5, 1, x1, 2 );
139139
// returns 6.25
140140
```
141141

@@ -157,9 +157,9 @@ The function has the following additional parameters:
157157
While [`typed array`][mdn-typed-array] views mandate a view offset based on the underlying buffer, the offset parameter supports indexing semantics based on a starting index. For example, to calculate the [variance][variance] for every other element in the strided array starting from the second element
158158

159159
```javascript
160-
var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0 ];
160+
var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, NaN, NaN ];
161161

162-
var v = nanvariancetk.ndarray( 4, 1, x, 2, 1 );
162+
var v = nanvariancetk.ndarray( 5, 1, x, 2, 1 );
163163
// returns 6.25
164164
```
165165

@@ -188,12 +188,19 @@ var v = nanvariancetk.ndarray( 4, 1, x, 2, 1 );
188188
<!-- eslint no-undef: "error" -->
189189

190190
```javascript
191-
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
191+
var uniform = require( '@stdlib/random/base/uniform' );
192+
var filledarrayBy = require( '@stdlib/array/filled-by' );
192193
var nanvariancetk = require( '@stdlib/stats/base/nanvariancetk' );
194+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
193195

194-
var x = discreteUniform( 10, -50, 50, {
195-
'dtype': 'float64'
196-
});
196+
function rand() {
197+
if ( bernoulli( 0.8 ) < 1 ) {
198+
return NaN;
199+
}
200+
return uniform( -50.0, 50.0 );
201+
}
202+
203+
var x = filledarrayBy( 10, 'float64', rand );
197204
console.log( x );
198205

199206
var v = nanvariancetk( x.length, 1, x, 1 );

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

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

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/array/uniform' );
24+
var uniform = require( '@stdlib/random/base/uniform' );
25+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
26+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2527
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2628
var pow = require( '@stdlib/math/base/special/pow' );
2729
var pkg = require( './../package.json' ).name;
2830
var nanvariancetk = require( './../lib/main.js' );
2931

3032

31-
// VARIABLES //
32-
33-
var options = {
34-
'dtype': 'generic'
35-
};
36-
37-
3833
// FUNCTIONS //
3934

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+
4048
/**
4149
* Creates a benchmark function.
4250
*
@@ -45,7 +53,7 @@ var options = {
4553
* @returns {Function} benchmark function
4654
*/
4755
function createBenchmark( len ) {
48-
var x = uniform( len, -10, 10, options );
56+
var x = filledarrayBy( len, 'float64', rand );
4957
return benchmark;
5058

5159
function benchmark( b ) {

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

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

2323
var bench = require( '@stdlib/bench' );
24-
var uniform = require( '@stdlib/random/array/uniform' );
24+
var uniform = require( '@stdlib/random/base/uniform' );
25+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
26+
var filledarrayBy = require( '@stdlib/array/filled-by' );
2527
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2628
var pow = require( '@stdlib/math/base/special/pow' );
2729
var pkg = require( './../package.json' ).name;
2830
var nanvariancetk = require( './../lib/ndarray.js' );
2931

3032

31-
// VARIABLES //
32-
33-
var options = {
34-
'dtype': 'generic'
35-
};
36-
37-
3833
// FUNCTIONS //
3934

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+
4048
/**
4149
* Creates a benchmark function.
4250
*
@@ -45,7 +53,7 @@ var options = {
4553
* @returns {Function} benchmark function
4654
*/
4755
function createBenchmark( len ) {
48-
var x = uniform( len, -10, 10, options );
56+
var x = filledarrayBy( len, 'float64', rand );
4957
return benchmark;
5058

5159
function benchmark( b ) {

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@
5050
~4.3333
5151

5252
// Using `N` and stride parameters:
53-
> x = [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0 ];
54-
> {{alias}}( 3, 1, x, 2 )
53+
> x = [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0, NaN ];
54+
> {{alias}}( 4, 1, x, 2 )
5555
~4.3333
5656

5757
// Using view offsets:
58-
> var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] );
58+
> var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, NaN, NaN ] );
5959
> var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
60-
> {{alias}}( 3, 1, x1, 2 )
60+
> {{alias}}( 4, 1, x1, 2 )
6161
~4.3333
6262

6363

@@ -109,8 +109,8 @@
109109
~4.3333
110110

111111
// Using offset parameter:
112-
> var x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ];
113-
> {{alias}}.ndarray( 3, 1, x, 2, 1 )
112+
> var x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, NaN, NaN ];
113+
> {{alias}}.ndarray( 4, 1, x, 2, 1 )
114114
~4.3333
115115

116116
See Also

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

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

1919
'use strict';
2020

21-
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
21+
var uniform = require( '@stdlib/random/base/uniform' );
22+
var filledarrayBy = require( '@stdlib/array/filled-by' );
23+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
2224
var nanvariancetk = require( './../lib' );
2325

24-
var x = discreteUniform( 10, -50, 50, {
25-
'dtype': 'float64'
26-
});
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 );
2734
console.log( x );
2835

2936
var v = nanvariancetk( x.length, 1, x, 1 );

0 commit comments

Comments
 (0)