Skip to content

Commit 79d1e71

Browse files
committed
chore: changes according to code review
1 parent 070eaf4 commit 79d1e71

3 files changed

Lines changed: 35 additions & 115 deletions

File tree

lib/node_modules/@stdlib/stats/base/dists/hypergeometric/kurtosis/manifest.json

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@
3939
"libpath": [],
4040
"dependencies": [
4141
"@stdlib/math/base/napi/ternary",
42-
"@stdlib/math/base/assert/is-nan",
43-
"@stdlib/constants/float64/pinf"
42+
"@stdlib/math/base/assert/is-nan"
4443
]
4544
},
4645
{
@@ -55,9 +54,7 @@
5554
"libraries": [],
5655
"libpath": [],
5756
"dependencies": [
58-
"@stdlib/math/base/assert/is-nan",
59-
"@stdlib/constants/float64/pinf",
60-
"@stdlib/math/base/special/floor"
57+
"@stdlib/math/base/assert/is-nan"
6158
]
6259
},
6360
{
@@ -72,8 +69,7 @@
7269
"libraries": [],
7370
"libpath": [],
7471
"dependencies": [
75-
"@stdlib/math/base/assert/is-nan",
76-
"@stdlib/constants/float64/pinf"
72+
"@stdlib/math/base/assert/is-nan"
7773
]
7874
}
7975
]

lib/node_modules/@stdlib/stats/base/dists/hypergeometric/kurtosis/src/main.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
#include "stdlib/stats/base/dists/hypergeometric/kurtosis.h"
2020
#include "stdlib/math/base/assert/is_nan.h"
21-
#include "stdlib/constants/float64/pinf.h"
2221
#include <stdint.h>
2322

2423
/**

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

Lines changed: 32 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@
2323
var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
2525
var tryRequire = require( '@stdlib/utils/try-require' );
26-
var abs = require( '@stdlib/math/base/special/abs' );
2726
var isnan = require( '@stdlib/math/base/assert/is-nan' );
27+
var abs = require( '@stdlib/math/base/special/abs' );
2828
var PINF = require( '@stdlib/constants/float64/pinf' );
29-
var NINF = require( '@stdlib/constants/float64/ninf' );
3029
var EPS = require( '@stdlib/constants/float64/eps' );
3130

3231

32+
// FIXTURES //
33+
34+
var data = require( './fixtures/julia/data.json' );
35+
36+
3337
// VARIABLES //
3438

3539
var kurtosis = tryRequire( resolve( __dirname, './../lib/native.js' ) );
@@ -38,11 +42,6 @@ var opts = {
3842
};
3943

4044

41-
// FIXTURES //
42-
43-
var data = require( './fixtures/julia/data.json' );
44-
45-
4645
// TESTS //
4746

4847
tape( 'main export is a function', opts, function test( t ) {
@@ -61,141 +60,67 @@ tape( 'if provided `NaN` for any parameter, the function returns `NaN`', opts, f
6160
v = kurtosis( 20.0, 10.0, NaN );
6261
t.strictEqual( isnan( v ), true, 'returns expected value' );
6362

64-
v = kurtosis( 20.0, 10.0, NaN );
65-
t.strictEqual( isnan( v ), true, 'returns expected value' );
66-
6763
t.end();
6864
});
6965

70-
tape( 'if provided `N <= 0`, the function returns `NaN`', opts, function test( t ) {
71-
var y;
72-
73-
y = kurtosis( -1.0, 5.0, 2.0 );
74-
t.strictEqual( isnan( y ), true, 'returns expected value' );
66+
tape( 'if provided an `N` which is not a nonnegative integer, the function returns `NaN`', opts, function test( t ) {
67+
var v;
7568

76-
y = kurtosis( 0.0, 5.0, 2.0 );
77-
t.strictEqual( isnan( y ), true, 'returns expected value' );
69+
v = kurtosis( 10.5, 4.0, 2.0 );
70+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7871

79-
y = kurtosis( NINF, 5.0, 2.0 );
80-
t.strictEqual( isnan( y ), true, 'returns expected value' );
72+
v = kurtosis( -2.0, 4.0, 2.0 );
73+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8174

82-
y = kurtosis( NINF, PINF, 2.0 );
83-
t.strictEqual( isnan( y ), true, 'returns expected value' );
75+
v = kurtosis( -1.0, 4.0, 2.0 );
76+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8477

85-
y = kurtosis( NINF, NINF, 0.0 );
86-
t.strictEqual( isnan( y ), true, 'returns expected value' );
78+
v = kurtosis( 20.5, 10.0, 5.0 );
79+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8780

88-
y = kurtosis( NINF, NaN, 0.0 );
89-
t.strictEqual( isnan( y ), true, 'returns expected value' );
81+
v = kurtosis( PINF, 10.0, 5.0 );
82+
t.strictEqual( isnan( v ), true, 'returns expected value' );
9083

9184
t.end();
9285
});
9386

94-
tape( 'if provided `K <= 0`, the function returns `NaN`', opts, function test( t ) {
87+
tape( 'if provided an `K` which is not a nonnegative integer, the function returns `NaN`', opts, function test( t ) {
9588
var y;
9689

97-
y = kurtosis( 10.0, 5.0, -1.0 );
98-
t.strictEqual( isnan( y ), true, 'returns expected value' );
99-
100-
y = kurtosis( 10.0, 5.0, 0.0 );
101-
t.strictEqual( isnan( y ), true, 'returns expected value' );
102-
103-
y = kurtosis( 1.0, 2.0, NINF );
104-
t.strictEqual( isnan( y ), true, 'returns expected value' );
105-
106-
y = kurtosis( PINF, NINF, 2.0 );
107-
t.strictEqual( isnan( y ), true, 'returns expected value' );
108-
109-
y = kurtosis( 10.0, -1.0, 2.0 );
90+
y = kurtosis( 20.0, 3.5, 10.0 );
11091
t.strictEqual( isnan( y ), true, 'returns expected value' );
11192

112-
y = kurtosis( 10.0, 0.0, 2.0 );
93+
y = kurtosis( 20.0, -2.0, 10.0 );
11394
t.strictEqual( isnan( y ), true, 'returns expected value' );
11495

115-
y = kurtosis( 1.0, NINF, 2.0 );
96+
y = kurtosis( 20.0, -1.0, 10.0 );
11697
t.strictEqual( isnan( y ), true, 'returns expected value' );
11798

118-
y = kurtosis( PINF, NINF, 2.0 );
99+
y = kurtosis( 20.0, 2.5, 10.0 );
119100
t.strictEqual( isnan( y ), true, 'returns expected value' );
120101

121-
y = kurtosis( NINF, NINF, 0.0 );
122-
t.strictEqual( isnan( y ), true, 'returns expected value' );
123-
124-
y = kurtosis( NaN, NINF, 0.0 );
125-
t.strictEqual( isnan( y ), true, 'returns expected value' );
126-
127-
t.end();
128-
});
129-
130-
tape( 'if provided `n <= 0`, the function returns `NaN`', opts, function test( t ) {
131-
var y;
132-
133-
y = kurtosis( 10.0, 5.0, -1.0 );
134-
t.ok( isnan( y ), 'should return NaN' );
135-
136-
y = kurtosis( 10.0, 5.0, 0.0 );
137-
t.ok( isnan( y ), 'should return NaN' );
138-
139-
y = kurtosis( 1.0, 2.0, NINF );
140-
t.ok( isnan( y ), 'should return NaN' );
141-
142-
y = kurtosis( PINF, NINF, 2.0 );
143-
t.ok( isnan( y ), 'should return NaN' );
144-
145-
y = kurtosis( NINF, NINF, 0.0 );
146-
t.ok( isnan( y ), 'should return NaN' );
147-
148-
y = kurtosis( NaN, NINF, 0.0 );
149-
t.ok( isnan( y ), 'should return NaN' );
150-
151-
t.end();
152-
});
153-
154-
tape( 'if provided `K > N`, the function returns `NaN`', opts, function test( t ) {
155-
var y = kurtosis( 10.0, 12.0, 5.0 );
156-
t.strictEqual( isnan( y ), true, 'returns expected value' );
157-
158-
y = kurtosis( 5.0, 10.0, 2.0 );
159-
t.strictEqual( isnan( y ), true, 'returns expected value' );
160-
161-
t.end();
162-
});
163-
164-
tape( 'if provided `n > N`, the function returns `NaN`', opts, function test( t ) {
165-
var y = kurtosis( 10.0, 5.0, 12.0 );
166-
t.strictEqual( isnan( y ), true, 'returns expected value' );
167-
168-
y = kurtosis( 8.0, 3.0, 10.0 );
102+
y = kurtosis( 20.0, PINF, 10.0 );
169103
t.strictEqual( isnan( y ), true, 'returns expected value' );
170104

171105
t.end();
172106
});
173107

174-
tape( 'if provided `N <= 3`, the function returns `NaN` (denominator would be zero)', opts, function test( t ) {
108+
tape( 'if provided an `n` which is not a nonnegative integer, the function returns `NaN`', opts, function test( t ) {
175109
var y;
176110

177-
y = kurtosis( 3.0, 1.0, 1.0 );
111+
y = kurtosis( 40.0, 20.0, 3.5 );
178112
t.strictEqual( isnan( y ), true, 'returns expected value' );
179113

180-
y = kurtosis( 2.0, 1.0, 1.0 );
114+
y = kurtosis( 40.0, 20.0, -2.0 );
181115
t.strictEqual( isnan( y ), true, 'returns expected value' );
182116

183-
y = kurtosis( 1.0, 1.0, 1.0 );
117+
y = kurtosis( 40.0, 20.0, -1.0 );
184118
t.strictEqual( isnan( y ), true, 'returns expected value' );
185119

186-
t.end();
187-
});
188-
189-
tape( 'if provided non-integer parameters, the function returns `NaN`', opts, function test( t ) {
190-
var y;
191-
192-
y = kurtosis( 10.5, 5.0, 2.0 );
120+
y = kurtosis( 40.0, 20.0, 2.5 );
193121
t.strictEqual( isnan( y ), true, 'returns expected value' );
194122

195-
y = kurtosis( 10.0, 5.5, 2.0 );
196-
t.strictEqual( isnan( y ), true, 'returns expected value' );
197-
198-
y = kurtosis( 10.0, 5.0, 2.5 );
123+
y = kurtosis( 40.0, 20.0, PINF );
199124
t.strictEqual( isnan( y ), true, 'returns expected value' );
200125

201126
t.end();
@@ -208,8 +133,8 @@ tape( 'the function returns the excess kurtosis of a hypergeometric distribution
208133
var N;
209134
var K;
210135
var n;
211-
var i;
212136
var y;
137+
var i;
213138

214139
expected = data.expected;
215140
N = data.N;
@@ -221,7 +146,7 @@ tape( 'the function returns the excess kurtosis of a hypergeometric distribution
221146
t.strictEqual( y, expected[i], 'N: '+N[i]+', K: '+K[i]+', n: '+n[i]+', y: '+y+', expected: '+expected[i] );
222147
} else {
223148
delta = abs( y - expected[ i ] );
224-
tol = 2.0 * EPS * abs( expected[ i ] );
149+
tol = 1.0 * EPS * abs( expected[ i ] );
225150
t.ok( delta <= tol, 'within tolerance. N: '+N[i]+'. K: '+K[i]+'. n: '+n[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' );
226151
}
227152
}

0 commit comments

Comments
 (0)