Skip to content

Commit daa0d70

Browse files
committed
chore: update implementation
1 parent 5a5e81b commit daa0d70

File tree

6 files changed

+122
-108
lines changed

6 files changed

+122
-108
lines changed

lib/node_modules/@stdlib/stats/base/dists/beta/mgf/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,8 @@ for ( i = 0; i < 10; i++ ) {
197197
Returns the [mgf][mgf] of a [beta][beta-distribution] distribution with parameters `alpha` (first shape parameter) and `beta` (second shape parameter) with input value `t`.
198198

199199
```c
200-
double out = stdlib_base_dists_beta_mgf( 4.0, 12.0 );
201-
// returns ~0.214
200+
double y = stdlib_base_dists_beta_mgf( 0.5, 1.0, 1.0 );
201+
// returns ~1.297
202202
```
203203

204204
The function accepts the following arguments:
@@ -248,8 +248,8 @@ int main( void ) {
248248
int i;
249249
for ( i = 0; i < 25; i++ ) {
250250
t = random_uniform( 0.0, 20.0 );
251-
alpha = random_uniform( 0.0, 100.0 ) + 1.0 + STDLIB_CONSTANT_FLOAT64_EPS;
252-
beta = random_uniform( 0.0, 100.0 ) + 1.0 + STDLIB_CONSTANT_FLOAT64_EPS;
251+
alpha = random_uniform( 1.0 + STDLIB_CONSTANT_FLOAT64_EPS, 100.0 );
252+
beta = random_uniform( 1.0 + STDLIB_CONSTANT_FLOAT64_EPS, 100.0 );
253253
y = stdlib_base_dists_beta_mgf( alpha, beta );
254254
printf( "t: %lf, alpha: %lf, beta: %lf, mgf(X;t,alpha,beta): %lf\n", t alpha, beta, y );
255255
}

lib/node_modules/@stdlib/stats/base/dists/beta/mgf/benchmark/benchmark.js

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

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
24+
var Float64Array = require( '@stdlib/array/float64' );
25+
var uniform = require( '@stdlib/random/base/uniform' );
2526
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2627
var EPS = require( '@stdlib/constants/float64/eps' );
2728
var pkg = require( './../package.json' ).name;
@@ -33,16 +34,24 @@ var mgf = require( './../lib' );
3334
bench( pkg, function benchmark( b ) {
3435
var alpha;
3536
var beta;
37+
var len;
3638
var t;
3739
var y;
3840
var i;
3941

42+
len = 100;
43+
t = new Float64Array( len );
44+
alpha = new Float64Array( len );
45+
beta = new Float64Array( len );
46+
for ( i = 0; i < len; i++ ) {
47+
t[ i ] = uniform( 0.0, 20.0 );
48+
alpha[ i ] = uniform( EPS, 100.0 );
49+
beta[ i ] = uniform( EPS, 100.0 );
50+
}
51+
4052
b.tic();
4153
for ( i = 0; i < b.iterations; i++ ) {
42-
t = randu() * 20.0;
43-
alpha = ( randu()*100.0 ) + EPS;
44-
beta = ( randu()*100.0 ) + EPS;
45-
y = mgf( t, alpha, beta );
54+
y = mgf( t[ i%len ], alpha[ i%len ], beta[ i%len ] );
4655
if ( isnan( y ) ) {
4756
b.fail( 'should not return NaN' );
4857
}
@@ -59,18 +68,23 @@ bench( pkg+':factory', function benchmark( b ) {
5968
var mymgf;
6069
var alpha;
6170
var beta;
71+
var len;
6272
var t;
6373
var y;
6474
var i;
6575

6676
alpha = 100.56789;
6777
beta = 55.54321;
6878
mymgf = mgf.factory( alpha, beta );
79+
len = 100;
80+
t = new Float64Array( len );
81+
for ( i = 0; i < len; i++ ) {
82+
t[ i ] = uniform( 0.0, 20.0 );
83+
}
6984

7085
b.tic();
7186
for ( i = 0; i < b.iterations; i++ ) {
72-
t = randu() * 20.0;
73-
y = mymgf( t );
87+
y = mymgf( t[ i%len ] );
7488
if ( isnan( y ) ) {
7589
b.fail( 'should not return NaN' );
7690
}

lib/node_modules/@stdlib/stats/base/dists/beta/mgf/benchmark/benchmark.native.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var Float64Array = require( '@stdlib/array/float64' );
2626
var EPS = require( '@stdlib/constants/float64/eps' );
27-
var randu = require( '@stdlib/random/base/randu' );
27+
var uniform = require( '@stdlib/random/base/uniform' );
2828
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2929
var tryRequire = require( '@stdlib/utils/try-require' );
3030
var pkg = require( './../package.json' ).name;
@@ -44,23 +44,23 @@ bench( pkg+'::native', opts, function benchmark( b ) {
4444
var alpha;
4545
var beta;
4646
var len;
47-
var x;
47+
var t;
4848
var y;
4949
var i;
5050

5151
len = 100;
52-
x = new Float64Array( len );
52+
t = new Float64Array( len );
5353
alpha = new Float64Array( len );
5454
beta = new Float64Array( len );
5555
for ( i = 0; i < len; i++ ) {
56-
x[ i ] = ( randu()*20.0 );
57-
alpha[ i ] = ( randu()*100.0 ) + 1.0 + EPS;
58-
beta[ i ] = ( randu()*100.0 ) + 1.0 + EPS;
56+
t[ i ] = uniform( 0.0, 20.0 );
57+
alpha[ i ] = uniform( EPS, 100.0 );
58+
beta[ i ] = uniform( EPS, 100.0 );
5959
}
6060

6161
b.tic();
6262
for ( i = 0; i < b.iterations; i++ ) {
63-
y = mgf( x[ i%len ], alpha[ i % len ], beta[ i % len ] );
63+
y = mgf( t[ i%len ], alpha[ i % len ], beta[ i % len ] );
6464
if ( isnan( y ) ) {
6565
b.fail( 'should not return NaN' );
6666
}

lib/node_modules/@stdlib/stats/base/dists/beta/mgf/examples/c/example.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ int main( void ) {
3535

3636
for ( i = 0; i < 25; i++ ) {
3737
t = random_uniform( 0.0, 20.0 );
38-
alpha = random_uniform( 0.0, 100.0 ) + 1.0 + STDLIB_CONSTANT_FLOAT64_EPS;
39-
beta = random_uniform( 0.0, 100.0 ) + 1.0 + STDLIB_CONSTANT_FLOAT64_EPS;
38+
alpha = random_uniform( 1.0 + STDLIB_CONSTANT_FLOAT64_EPS, 100.0 );
39+
beta = random_uniform( 1.0 + STDLIB_CONSTANT_FLOAT64_EPS, 100.0 );
4040
y = stdlib_base_dists_beta_mgf( t, alpha, beta );
4141
printf( "t: %lf, alpha: %lf, beta: %lf, mgf(X;t,alpha,beta): %lf\n", t, alpha, beta, y );
4242
}
Lines changed: 82 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,85 @@
11
{
2-
"options": {
2+
"options": {
3+
"task": "build",
4+
"wasm": false
5+
},
6+
"fields": [
7+
{
8+
"field": "src",
9+
"resolve": true,
10+
"relative": true
11+
},
12+
{
13+
"field": "include",
14+
"resolve": true,
15+
"relative": true
16+
},
17+
{
18+
"field": "libraries",
19+
"resolve": false,
20+
"relative": false
21+
},
22+
{
23+
"field": "libpath",
24+
"resolve": true,
25+
"relative": false
26+
}
27+
],
28+
"confs": [
29+
{
330
"task": "build",
4-
"wasm": false
31+
"wasm": false,
32+
"src": [
33+
"./src/main.c"
34+
],
35+
"include": [
36+
"./include"
37+
],
38+
"libraries": [],
39+
"libpath": [],
40+
"dependencies": [
41+
"@stdlib/math/base/napi/ternary",
42+
"@stdlib/math/base/assert/is-nan",
43+
"@stdlib/math/base/special/beta",
44+
"@stdlib/math/base/special/abs",
45+
"@stdlib/constants/float64/eps"
46+
]
47+
},
48+
{
49+
"task": "benchmark",
50+
"wasm": false,
51+
"src": [
52+
"./src/main.c"
53+
],
54+
"include": [
55+
"./include"
56+
],
57+
"libraries": [],
58+
"libpath": [],
59+
"dependencies": [
60+
"@stdlib/math/base/assert/is-nan",
61+
"@stdlib/math/base/special/beta",
62+
"@stdlib/math/base/special/abs",
63+
"@stdlib/constants/float64/eps"
64+
]
565
},
6-
"fields": [
7-
{
8-
"field": "src",
9-
"resolve": true,
10-
"relative": true
11-
},
12-
{
13-
"field": "include",
14-
"resolve": true,
15-
"relative": true
16-
},
17-
{
18-
"field": "libraries",
19-
"resolve": false,
20-
"relative": false
21-
},
22-
{
23-
"field": "libpath",
24-
"resolve": true,
25-
"relative": false
26-
}
27-
],
28-
"confs": [
29-
{
30-
"task": "build",
31-
"wasm": false,
32-
"src": [
33-
"./src/main.c"
34-
],
35-
"include": [
36-
"./include"
37-
],
38-
"libraries": [],
39-
"libpath": [],
40-
"dependencies": [
41-
"@stdlib/math/base/napi/ternary",
42-
"@stdlib/math/base/assert/is-nan",
43-
"@stdlib/math/base/special/beta",
44-
"@stdlib/math/base/special/abs",
45-
"@stdlib/constants/float64/eps"
46-
]
47-
},
48-
{
49-
"task": "benchmark",
50-
"wasm": false,
51-
"src": [
52-
"./src/main.c"
53-
],
54-
"include": [
55-
"./include"
56-
],
57-
"libraries": [],
58-
"libpath": [],
59-
"dependencies": [
60-
"@stdlib/math/base/assert/is-nan",
61-
"@stdlib/math/base/special/beta",
62-
"@stdlib/math/base/special/abs",
63-
"@stdlib/constants/float64/eps"
64-
]
65-
},
66-
{
67-
"task": "examples",
68-
"wasm": false,
69-
"src": [
70-
"./src/main.c"
71-
],
72-
"include": [
73-
"./include"
74-
],
75-
"libraries": [],
76-
"libpath": [],
77-
"dependencies": [
78-
"@stdlib/math/base/assert/is-nan",
79-
"@stdlib/math/base/special/beta",
80-
"@stdlib/math/base/special/abs",
81-
"@stdlib/constants/float64/eps"
82-
]
83-
}
84-
]
85-
}
66+
{
67+
"task": "examples",
68+
"wasm": false,
69+
"src": [
70+
"./src/main.c"
71+
],
72+
"include": [
73+
"./include"
74+
],
75+
"libraries": [],
76+
"libpath": [],
77+
"dependencies": [
78+
"@stdlib/math/base/assert/is-nan",
79+
"@stdlib/math/base/special/beta",
80+
"@stdlib/math/base/special/abs",
81+
"@stdlib/constants/float64/eps"
82+
]
83+
}
84+
]
85+
}

lib/node_modules/@stdlib/stats/base/dists/beta/mgf/src/main.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@
2727
// MAIN //
2828

2929
/**
30+
* Evaluates the moment-generating function (MGF) for a beta distribution with first shape parameter `alpha` and second shape parameter `beta` at a value `t`
3031
*
31-
* @private
32-
* @param {number} t - input value
33-
* @param {PositiveNumber} alpha - first shape parameter
34-
* @param {PositiveNumber} beta - second shape parameter
35-
* @returns {number} evaluated MGF
32+
* @param t input value
33+
* @param alpha first shape parameter
34+
* @param beta second shape parameter
35+
* @returns evaluated MGF
3636
*
3737
* @example
38-
* double y = mgf( 0.5, 1.0, 1.0 );
38+
* double y = stdlib_base_dists_beta_mgf( 0.5, 1.0, 1.0 );
3939
* // returns ~1.297
4040
*/
4141
double stdlib_base_dists_beta_mgf( const double t, const double alpha, const double beta ) {

0 commit comments

Comments
 (0)