Skip to content

Commit 1f180f4

Browse files
chore: clean up
1 parent 296ea7d commit 1f180f4

File tree

7 files changed

+62
-34
lines changed

7 files changed

+62
-34
lines changed

lib/node_modules/@stdlib/stats/base/dists/erlang/skewness/README.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -169,20 +169,11 @@ for ( i = 0; i < 10; i++ ) {
169169

170170
#### stdlib_base_dists_erlang_skewness( k, lambda )
171171

172-
Evaluates the excess skewness for a erlang distribution with shape parameter `k` and rate parameter `lambda` at a value `x`.
172+
Returns the excess skewness for a erlang distribution with shape parameter `k` and rate parameter `lambda`.
173173

174174
```c
175175
double y = stdlib_base_dists_erlang_skewness( 1.0, 0.1 );
176176
// returns ~2.0
177-
178-
y = stdlib_base_dists_erlang_skewness( 4.0, 12.0 );
179-
// returns ~1.0
180-
181-
y = stdlib_base_dists_erlang_skewness( 8.0, 2.0 );
182-
// returns ~0.707
183-
184-
y = stdlib_base_dists_erlang_skewness( 1.5, 2.0 );
185-
// returns NaN
186177
```
187178

188179
The function accepts the following arguments:
@@ -220,15 +211,20 @@ element and another before the `/section` close. -->
220211
#include <stdlib.h>
221212
#include <stdio.h>
222213
214+
static double random_uniform( const double min, const double max ) {
215+
double v = (double)rand() / ( (double)RAND_MAX + 1.0 );
216+
return min + ( v*(max-min) );
217+
}
218+
223219
int main( void ) {
224220
double k;
225221
double lambda;
226222
double y;
227223
int i;
228224
229225
for ( i = 0; i < 10; i++ ) {
230-
k = stdlib_base_round( ( (double)rand() / (double)RAND_MAX ) * 10.0 );
231-
lambda = ( ( (double)rand() / (double)RAND_MAX ) * 10.0 ) + STDLIB_CONSTANT_FLOAT64_EPS;
226+
k = stdlib_base_round( random_uniform( 0.0, 10.0 ) );
227+
lambda = random_uniform( STDLIB_CONSTANT_FLOAT64_EPS, 10.0 );
232228
y = stdlib_base_dists_erlang_skewness( k, lambda );
233229
printf( "k: %1f, λ: %1f, skew(X;k,λ): %lf\n", k , lambda , y );
234230
}

lib/node_modules/@stdlib/stats/base/dists/erlang/skewness/benchmark/benchmark.js

Lines changed: 14 additions & 4 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 uniform = require( '@stdlib/random/base/uniform' );
25+
var Float64Array = require( '@stdlib/array/float64' );
2526
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2627
var ceil = require( '@stdlib/math/base/special/ceil' );
2728
var EPS = require( '@stdlib/constants/float64/eps' );
@@ -33,15 +34,24 @@ var skewness = require( './../lib' );
3334

3435
bench( pkg, function benchmark( b ) {
3536
var lambda;
37+
var len;
3638
var k;
3739
var y;
3840
var i;
3941

42+
len = 100;
43+
k = new Float64Array( len );
44+
for ( i = 0; i < len; i++ ) {
45+
k[ i ] = ceil( uniform( 0.0, 10.0 ) );
46+
}
47+
lambda = new Float64Array( len );
48+
for ( i = 0; i < len; i++ ) {
49+
lambda[ i ] = uniform( EPS, 10.0 );
50+
}
51+
4052
b.tic();
4153
for ( i = 0; i < b.iterations; i++ ) {
42-
k = ceil( randu()*10.0 );
43-
lambda = ( randu()*10.0 ) + EPS;
44-
y = skewness( k, lambda );
54+
y = skewness( k[ i%100 ], lambda[ i%100 ] );
4555
if ( isnan( y ) ) {
4656
b.fail( 'should not return NaN' );
4757
}

lib/node_modules/@stdlib/stats/base/dists/erlang/skewness/benchmark/benchmark.native.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323

2424
var resolve = require( 'path' ).resolve;
2525
var bench = require( '@stdlib/bench' );
26-
var randu = require( '@stdlib/random/base/randu' );
26+
var uniform = require( '@stdlib/random/base/uniform' );
27+
var Float64Array = require( '@stdlib/array/float64' );
2728
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2829
var ceil = require( '@stdlib/math/base/special/ceil' );
2930
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -43,15 +44,24 @@ var opts = {
4344

4445
bench( pkg+'::native', opts, function benchmark( b ) {
4546
var lambda;
47+
var len;
4648
var k;
4749
var y;
4850
var i;
4951

52+
len = 100;
53+
k = new Float64Array( len );
54+
for ( i = 0; i < len; i++ ) {
55+
k[ i ] = ceil( uniform( 0.0, 10.0 ) );
56+
}
57+
lambda = new Float64Array( len );
58+
for ( i = 0; i < len; i++ ) {
59+
lambda[ i ] = uniform( EPS, 10.0 );
60+
}
61+
5062
b.tic();
5163
for ( i = 0; i < b.iterations; i++ ) {
52-
k = ceil( randu()*10.0 );
53-
lambda = ( randu()*10.0 ) + EPS;
54-
y = skewness( k, lambda );
64+
y = skewness( k[ i%100 ], lambda[ i%100 ] );
5565
if ( isnan( y ) ) {
5666
b.fail( 'should not return NaN' );
5767
}

lib/node_modules/@stdlib/stats/base/dists/erlang/skewness/benchmark/c/benchmark.c

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,15 @@ static double tic( void ) {
7777
}
7878

7979
/**
80-
* Generates a random number on the interval [0,1).
80+
* Generates a random number on the interval [min,max).
8181
*
82-
* @return random number
82+
* @param min minimum value (inclusive)
83+
* @param max maximum value (exclusive)
84+
* @return random number
8385
*/
84-
static double rand_double( void ) {
85-
int r = rand();
86-
return (double)r / ( (double)RAND_MAX + 1.0 );
86+
static double random_uniform( const double min, const double max ) {
87+
double v = (double)rand() / ( (double)RAND_MAX + 1.0 );
88+
return min + ( v*(max-min) );
8789
}
8890

8991
/**
@@ -93,17 +95,22 @@ static double rand_double( void ) {
9395
*/
9496
static double benchmark( void ) {
9597
double elapsed;
96-
double k;
97-
double lambda;
98+
double k[ 100 ];
99+
double lambda[ 100 ];
98100
double y;
99101
double t;
100102
int i;
101103

104+
for ( i = 0; i < 100; i++ ) {
105+
k[ i ] = stdlib_base_ceil( random_uniform( 0.0, 10.0 ) );
106+
}
107+
for ( i = 0; i < 100; i++ ) {
108+
lambda[ i ] = random_uniform( STDLIB_CONSTANT_FLOAT64_EPS, 10.0 );
109+
}
110+
102111
t = tic();
103112
for ( i = 0; i < ITERATIONS; i++ ) {
104-
k = stdlib_base_ceil( ( (double)rand() / (double)RAND_MAX )*10 );
105-
lambda = ( ( (double)rand() / (double)RAND_MAX )*10 ) + STDLIB_CONSTANT_FLOAT64_EPS;
106-
y = stdlib_base_dists_erlang_skewness( k, lambda );
113+
y = stdlib_base_dists_erlang_skewness( k[ i%100 ], lambda[ i%100 ] );
107114
if ( y != y ) {
108115
printf( "should not return NaN\n" );
109116
break;

lib/node_modules/@stdlib/stats/base/dists/erlang/skewness/examples/c/example.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,20 @@
2222
#include <stdlib.h>
2323
#include <stdio.h>
2424

25+
static double random_uniform( const double min, const double max ) {
26+
double v = (double)rand() / ( (double)RAND_MAX + 1.0 );
27+
return min + ( v*(max-min) );
28+
}
29+
2530
int main( void ) {
2631
double k;
2732
double lambda;
2833
double y;
2934
int i;
3035

3136
for ( i = 0; i < 10; i++ ) {
32-
k = stdlib_base_round( ( (double)rand() / (double)RAND_MAX ) * 10.0 );
33-
lambda = ( ( (double)rand() / (double)RAND_MAX ) * 10.0 ) + STDLIB_CONSTANT_FLOAT64_EPS;
37+
k = stdlib_base_round( random_uniform( 0.0, 10.0 ) );
38+
lambda = random_uniform( STDLIB_CONSTANT_FLOAT64_EPS, 10.0 );
3439
y = stdlib_base_dists_erlang_skewness( k, lambda );
3540
printf( "k: %1f, λ: %1f, skew(X;k,λ): %lf\n", k , lambda , y );
3641
}

lib/node_modules/@stdlib/stats/base/dists/erlang/skewness/include/stdlib/stats/base/dists/erlang/skewness.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ extern "C" {
2727
#endif
2828

2929
/**
30-
* Returns the skewness of a erlang distribution.
30+
* Returns the excess skewness for a erlang distribution with shape parameter `k` and rate parameter `lambda`.
3131
*/
3232
double stdlib_base_dists_erlang_skewness( const double k, const double lambda );
3333

lib/node_modules/@stdlib/stats/base/dists/erlang/skewness/src/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#include "stdlib/math/base/special/sqrt.h"
2323

2424
/**
25-
* Returns the skewness of a Bernoulli distribution.
25+
* Returns the excess skewness for a erlang distribution with shape parameter `k` and rate parameter `lambda`.
2626
*
2727
* @param k shape parameter
2828
* @param lambda rate parameter

0 commit comments

Comments
 (0)