Skip to content

Commit ed96a58

Browse files
committed
refactor: addressed requested changes
--- 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: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - 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 57fb8a2 commit ed96a58

File tree

10 files changed

+87
-91
lines changed

10 files changed

+87
-91
lines changed

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

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,19 @@ var v = nanmin.ndarray( 5, x, 2, 1 );
123123
<!-- eslint no-undef: "error" -->
124124

125125
```javascript
126-
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
126+
var uniform = require( '@stdlib/random/base/uniform' );
127+
var filledarrayBy = require( '@stdlib/array/filled-by' );
128+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
127129
var nanmin = require( '@stdlib/stats/base/nanmin' );
128130

129-
var x = discreteUniform( 10, -50, 50, {
130-
'dtype': 'float64'
131-
});
131+
function rand() {
132+
if ( bernoulli( 0.8 ) < 1 ) {
133+
return NaN;
134+
}
135+
return uniform( -50.0, 50.0 );
136+
}
137+
138+
var x = filledarrayBy( 10, 'float64', rand );
132139
console.log( x );
133140

134141
var v = nanmin( x.length, x, 1 );

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

Lines changed: 18 additions & 10 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 filledarrayBy = require( '@stdlib/array/filled-by' );
26+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
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;
28-
var nanmin = require( './../lib/nanmin.js' );
29-
30-
31-
// VARIABLES //
32-
33-
var options = {
34-
'dtype': 'generic'
35-
};
30+
var nanmin = require( './../lib/main.js' );
3631

3732

3833
// FUNCTIONS //
3934

35+
/**
36+
* Returns a random number.
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, 'generic', rand );
4957
return benchmark;
5058

5159
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/nanmin/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 filledarrayBy = require( '@stdlib/array/filled-by' );
26+
var bernoulli = require( '@stdlib/random/base/bernoulli' );
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 nanmin = 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 number.
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, 'generic', rand );
4957
return benchmark;
5058

5159
function benchmark( b ) {

lib/node_modules/@stdlib/stats/base/nanmin/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 nanmin = require( './../lib' );
2325

24-
var x = discreteUniform( 10, -50, 50, {
25-
'dtype': 'generic'
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 = nanmin( x.length, x, 1 );

lib/node_modules/@stdlib/stats/base/nanmin/lib/accessors.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' );
2929
/**
3030
* Computes the minimum value of a strided array, ignoring `NaN` values.
3131
*
32+
* @private
3233
* @param {PositiveInteger} N - number of indexed elements
3334
* @param {Object} x - input array object
3435
* @param {Collection} x.data - input array data

lib/node_modules/@stdlib/stats/base/nanmin/lib/index.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,29 @@
2727
* var nanmin = require( '@stdlib/stats/base/nanmin' );
2828
*
2929
* var x = [ 1.0, -2.0, NaN, 2.0 ];
30-
* var N = x.length;
3130
*
32-
* var v = nanmin( N, x, 1 );
31+
* var v = nanmin( 4, x, 1 );
3332
* // returns -2.0
3433
*
3534
* @example
36-
* var floor = require( '@stdlib/math/base/special/floor' );
3735
* var nanmin = require( '@stdlib/stats/base/nanmin' );
3836
*
3937
* var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, NaN, NaN ];
40-
* var N = floor( x.length / 2 );
4138
*
42-
* var v = nanmin.ndarray( N, x, 2, 1 );
39+
* var v = nanmin.ndarray( 5, x, 2, 1 );
4340
* // returns -2.0
4441
*/
4542

4643
// MODULES //
4744

45+
var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
4846
var main = require( './main.js' );
47+
var ndarray = require( './ndarray.js' );
48+
49+
50+
// MAIN //
51+
52+
setReadOnly( main, 'ndarray', ndarray );
4953

5054

5155
// EXPORTS //

lib/node_modules/@stdlib/stats/base/nanmin/lib/main.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,29 @@
2020

2121
// MODULES //
2222

23-
var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
24-
var nanmin = require( './nanmin.js' );
23+
var stride2offset = require( '@stdlib/strided/base/stride2offset' );
2524
var ndarray = require( './ndarray.js' );
2625

2726

2827
// MAIN //
2928

30-
setReadOnly( nanmin, 'ndarray', ndarray );
29+
/**
30+
* Computes the minimum value of a strided array, ignoring `NaN` values.
31+
*
32+
* @param {PositiveInteger} N - number of indexed elements
33+
* @param {NumericArray} x - input array
34+
* @param {integer} strideX - stride length
35+
* @returns {number} minimum value
36+
*
37+
* @example
38+
* var x = [ 1.0, -2.0, NaN, 2.0 ];
39+
*
40+
* var v = nanmin( 4, x, 1 );
41+
* // returns -2.0
42+
*/
43+
function nanmin( N, x, strideX ) {
44+
return ndarray( N, x, strideX, stride2offset( N, strideX ) );
45+
}
3146

3247

3348
// EXPORTS //

lib/node_modules/@stdlib/stats/base/nanmin/lib/nanmin.js

Lines changed: 0 additions & 51 deletions
This file was deleted.

lib/node_modules/@stdlib/stats/base/nanmin/lib/ndarray.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,9 @@ var accessors = require( './accessors.js' );
3838
* @returns {number} minimum value
3939
*
4040
* @example
41-
* var floor = require( '@stdlib/math/base/special/floor' );
42-
*
4341
* var x = [ 2.0, 1.0, 2.0, -2.0, -2.0, 2.0, 3.0, 4.0, NaN, NaN ];
44-
* var N = floor( x.length / 2 );
4542
*
46-
* var v = nanmin( N, x, 2, 1 );
43+
* var v = nanmin( 5, x, 2, 1 );
4744
* // returns -2.0
4845
*/
4946
function nanmin( N, x, strideX, offsetX ) {

lib/node_modules/@stdlib/stats/base/nanmin/test/test.nanmin.js renamed to lib/node_modules/@stdlib/stats/base/nanmin/test/test.main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' );
2727
var Float64Array = require( '@stdlib/array/float64' );
28-
var nanmin = require( './../lib/nanmin.js' );
28+
var nanmin = require( './../lib/main.js' );
2929

3030

3131
// TESTS //

0 commit comments

Comments
 (0)