Skip to content

Commit 6ab2572

Browse files
committed
fix: update JS files with correct implementation
--- 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: na - 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: na - 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 82d5b0a commit 6ab2572

File tree

4 files changed

+26
-75
lines changed

4 files changed

+26
-75
lines changed

lib/node_modules/@stdlib/stats/base/dists/hypergeometric/variance/benchmark/benchmark.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var floor = require( '@stdlib/math/base/special/floor' );
25-
var uniform = require( '@stdlib/random/base/uniform' );
26-
var randu = require( '@stdlib/random/base/randu' );
27-
var ceil = require( '@stdlib/math/base/special/ceil' );
24+
var Float64Array = require( '@stdlib/array/float64' );
25+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
2826
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2927
var pkg = require( './../package.json' ).name;
3028
var variance = require( './../lib' );
@@ -33,18 +31,26 @@ var variance = require( './../lib' );
3331
// MAIN //
3432

3533
bench( pkg, function benchmark( b ) {
34+
var len;
3635
var N;
3736
var K;
3837
var n;
3938
var y;
4039
var i;
4140

41+
len = 100;
42+
N = new Float64Array( len );
43+
K = new Float64Array( len );
44+
n = new Float64Array( len );
45+
for ( i = 0; i < len; i++ ) {
46+
N[ i ] = discreteUniform( 2, 100 );
47+
n[ i ] = discreteUniform( 0, N[ i ] );
48+
K[ i ] = discreteUniform( 0, N[ i ] );
49+
}
50+
4251
b.tic();
4352
for ( i = 0; i < b.iterations; i++ ) {
44-
N = ceil( uniform( 1.0, 100.0 ) );
45-
K = floor( randu()*N );
46-
n = floor( randu()*N );
47-
y = variance( N, K, n );
53+
y = variance( N[ i % len ], K[ i % len ], n[ i % len ] );
4854
if ( isnan( y ) ) {
4955
b.fail( 'should not return NaN' );
5056
}

lib/node_modules/@stdlib/stats/base/dists/hypergeometric/variance/benchmark/benchmark.native.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@
2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var Float64Array = require( '@stdlib/array/float64' );
26-
var randu = require( '@stdlib/random/base/randu' );
27-
var uniform = require( '@stdlib/random/base/uniform' );
26+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
2827
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2928
var tryRequire = require( '@stdlib/utils/try-require' );
30-
var floor = require( '@stdlib/math/base/special/floor' );
3129
var pkg = require( './../package.json' ).name;
3230

3331

@@ -54,9 +52,9 @@ bench( pkg+'::native', opts, function benchmark( b ) {
5452
K = new Float64Array( len );
5553
n = new Float64Array( len );
5654
for ( i = 0; i < len; i++ ) {
57-
N[ i ] = floor( uniform( 1.0, 100.0 ) );
58-
K[ i ] = floor( randu() * N[ i ] );
59-
n[ i ] = floor( randu() * N[ i ] );
55+
N[ i ] = discreteUniform( 2, 100 );
56+
K[ i ] = discreteUniform( 0, N[ i ] );
57+
n[ i ] = discreteUniform( 0, N[ i ] );
6058
}
6159

6260
b.tic();

lib/node_modules/@stdlib/stats/base/dists/hypergeometric/variance/lib/native.js

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ var addon = require( './../src/addon.node' );
2626
// MAIN //
2727

2828
/**
29-
* Returns the variance of a hypergeometric distribution with population size `N`, subpopulation size `K`, and number of draws `n`.
29+
* Returns the variance of a hypergeometric distribution.
3030
*
3131
* @private
32-
* @param {number} N - population size
33-
* @param {number} K - subpopulation size
34-
* @param {number} n - number of draws
35-
* @returns {number} variance
32+
* @param {NonNegativeInteger} N - population size
33+
* @param {NonNegativeInteger} K - subpopulation size
34+
* @param {NonNegativeInteger} n - number of draws
35+
* @returns {NonNegativeNumber} variance
3636
*
3737
* @example
3838
* var v = variance( 16, 11, 4 );
@@ -47,27 +47,15 @@ var addon = require( './../src/addon.node' );
4747
* // returns NaN
4848
*
4949
* @example
50-
* var v = variance( 10.3, 10, 4 );
50+
* var v = variance( -2, 4, 2 );
5151
* // returns NaN
5252
*
5353
* @example
54-
* var v = variance( 10, 5.5, 4 );
54+
* var v = variance( 20, -1, 10 );
5555
* // returns NaN
5656
*
5757
* @example
58-
* var v = variance( 10, 5, 4.5 );
59-
* // returns NaN
60-
*
61-
* @example
62-
* var v = variance( NaN, 10, 4 );
63-
* // returns NaN
64-
*
65-
* @example
66-
* var v = variance( 20, NaN, 4 );
67-
* // returns NaN
68-
*
69-
* @example
70-
* var v = variance( 20, 10, NaN );
58+
* var v = variance( 40, 20, -2 );
7159
* // returns NaN
7260
*/
7361
function variance( N, K, n ) {

lib/node_modules/@stdlib/stats/base/dists/hypergeometric/variance/test/test.native.js

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ var tape = require( 'tape' );
2525
var tryRequire = require( '@stdlib/utils/try-require' );
2626
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2727
var abs = require( '@stdlib/math/base/special/abs' );
28-
var PINF = require( '@stdlib/constants/float64/pinf' );
2928
var EPS = require( '@stdlib/constants/float64/eps' );
3029

3130

@@ -50,79 +49,39 @@ tape( 'main export is a function', opts, function test( t ) {
5049
t.end();
5150
});
5251

53-
tape( 'if provided `NaN` for any parameter, the function returns `NaN`', opts, function test( t ) {
54-
var v = variance( NaN, 10, 4 );
55-
t.equal( isnan( v ), true, 'returns NaN' );
56-
57-
v = variance( 20, NaN, 4 );
58-
t.equal( isnan( v ), true, 'returns NaN' );
59-
60-
v = variance( 20, 10, NaN );
61-
t.equal( isnan( v ), true, 'returns NaN' );
62-
63-
t.end();
64-
});
65-
6652
tape( 'if provided an `N` which is not a nonnegative integer, the function returns `NaN`', opts, function test( t ) {
6753
var v;
6854

69-
v = variance( 10.5, 4, 2 );
70-
t.equal( isnan( v ), true, 'returns NaN' );
71-
7255
v = variance( -2, 4, 2 );
7356
t.equal( isnan( v ), true, 'returns NaN' );
7457

7558
v = variance( -1, 4, 2 );
7659
t.equal( isnan( v ), true, 'returns NaN' );
7760

78-
v = variance( 20.5, 10, 5 );
79-
t.equal( isnan( v ), true, 'returns NaN' );
80-
81-
v = variance( PINF, 10, 5 );
82-
t.equal( isnan( v ), true, 'returns NaN' );
83-
8461
t.end();
8562
});
8663

8764
tape( 'if provided an `K` which is not a nonnegative integer, the function returns `NaN`', opts, function test( t ) {
8865
var y;
8966

90-
y = variance( 20, 3.5, 10 );
91-
t.equal( isnan( y ), true, 'returns NaN' );
92-
9367
y = variance( 20, -2, 10 );
9468
t.equal( isnan( y ), true, 'returns NaN' );
9569

9670
y = variance( 20, -1, 10 );
9771
t.equal( isnan( y ), true, 'returns NaN' );
9872

99-
y = variance( 20, 2.5, 10 );
100-
t.equal( isnan( y ), true, 'returns NaN' );
101-
102-
y = variance( 20, PINF, 10 );
103-
t.equal( isnan( y ), true, 'returns NaN' );
104-
10573
t.end();
10674
});
10775

10876
tape( 'if provided an `n` which is not a nonnegative integer, the function returns `NaN`', opts, function test( t ) {
10977
var y;
11078

111-
y = variance( 40, 20, 3.5 );
112-
t.equal( isnan( y ), true, 'returns NaN' );
113-
11479
y = variance( 40, 20, -2 );
11580
t.equal( isnan( y ), true, 'returns NaN' );
11681

11782
y = variance( 40, 20, -1 );
11883
t.equal( isnan( y ), true, 'returns NaN' );
11984

120-
y = variance( 40, 20, 2.5 );
121-
t.equal( isnan( y ), true, 'returns NaN' );
122-
123-
y = variance( 40, 20, PINF );
124-
t.equal( isnan( y ), true, 'returns NaN' );
125-
12685
t.end();
12786
});
12887

0 commit comments

Comments
 (0)