Skip to content

Commit 307f6ce

Browse files
committed
Merge branch 'develop' of https://github.com/stdlib-js/stdlib into develop
2 parents e6f9e64 + 6fd416a commit 307f6ce

File tree

81 files changed

+1965
-48
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1965
-48
lines changed

lib/node_modules/@stdlib/math/base/dist/betaprime/stdev/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
The [standard deviation][stdev] for a [beta prime][betaprime] random variable with first shape parameter `α` and second shape parameter `β` is
1111

12-
<!-- <equation class="equation" label="eq:betaprime_variance" align="center" raw="\sigma = \sqrt{ \tfrac{\alpha(\alpha +\beta -1)}{(\beta-2)(\beta-1)^{2}} }" alt="Standard deviation for a beta prime distribution."> -->
12+
<!-- <equation class="equation" label="eq:betaprime_stdev" align="center" raw="\sigma = \sqrt{ \tfrac{\alpha(\alpha +\beta -1)}{(\beta-2)(\beta-1)^{2}} }" alt="Standard deviation for a beta prime distribution."> -->
1313

14-
<div class="equation" align="center" data-raw-text="\sigma = \sqrt{ \tfrac{\alpha(\alpha +\beta -1)}{(\beta-2)(\beta-1)^{2}} }" data-equation="eq:betaprime_variance">
14+
<div class="equation" align="center" data-raw-text="\sigma = \sqrt{ \tfrac{\alpha(\alpha +\beta -1)}{(\beta-2)(\beta-1)^{2}} }" data-equation="eq:betaprime_stdev">
1515
<img src="" alt="Standard deviation for a beta prime distribution.">
1616
<br>
1717
</div>

lib/node_modules/@stdlib/math/base/dist/chisquare/kurtosis/benchmark/benchmark.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var randu = require( '@stdlib/math/base/random/randu' );
77
var isnan = require( '@stdlib/math/base/assert/is-nan' );
88
var EPS = require( '@stdlib/math/constants/float64-eps' );
99
var pkg = require( './../package.json' ).name;
10-
var skewness = require( './../lib' );
10+
var kurtosis = require( './../lib' );
1111

1212

1313
// MAIN //
@@ -20,7 +20,7 @@ bench( pkg, function benchmark( b ) {
2020
b.tic();
2121
for ( i = 0; i < b.iterations; i++ ) {
2222
k = ( randu()*20.0 ) + EPS;
23-
y = skewness( k );
23+
y = kurtosis( k );
2424
if ( isnan( y ) ) {
2525
b.fail( 'should not return NaN' );
2626
}

lib/node_modules/@stdlib/math/base/dist/gamma/ctor/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,17 @@ var skewness = gamma.skewness;
140140
// returns 1.0
141141
```
142142

143+
#### Gamma.prototype.stdev
144+
145+
Returns the [standard deviation][standard-deviation].
146+
147+
``` javascript
148+
var gamma = new Gamma( 4.0, 12.0 );
149+
150+
var s = gamma.stdev;
151+
// returns ~0.167
152+
```
153+
143154
#### Gamma.prototype.variance
144155

145156
Returns the [variance][variance].
@@ -279,6 +290,7 @@ var y = gamma.cdf( 0.8 );
279290
[kurtosis]: https://en.wikipedia.org/wiki/Kurtosis
280291
[mode]: https://en.wikipedia.org/wiki/Mode_%28statistics%29
281292
[skewness]: https://en.wikipedia.org/wiki/Skewness
293+
[standard-deviation]: https://en.wikipedia.org/wiki/Standard_deviation
282294
[variance]: https://en.wikipedia.org/wiki/Variance
283295

284296
</section>

lib/node_modules/@stdlib/math/base/dist/gamma/ctor/benchmark/benchmark.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,33 @@ bench( pkg+':skewness', function benchmark( b ) {
303303
b.end();
304304
});
305305

306+
bench( pkg+':stdev', function benchmark( b ) {
307+
var alpha;
308+
var beta;
309+
var dist;
310+
var y;
311+
var i;
312+
313+
alpha = 100.56789;
314+
beta = 55.54321;
315+
dist = new Gamma( alpha, beta );
316+
317+
b.tic();
318+
for ( i = 0; i < b.iterations; i++ ) {
319+
dist.alpha = ( 100.0*randu() ) + EPS;
320+
y = dist.stdev;
321+
if ( isnan( y ) ) {
322+
b.fail( 'should not return NaN' );
323+
}
324+
}
325+
b.toc();
326+
if ( isnan( y ) ) {
327+
b.fail( 'should not return NaN' );
328+
}
329+
b.pass( 'benchmark finished' );
330+
b.end();
331+
});
332+
306333
bench( pkg+':variance', function benchmark( b ) {
307334
var alpha;
308335
var beta;

lib/node_modules/@stdlib/math/base/dist/gamma/ctor/benchmark/python/benchmark.scipy.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ def main():
115115
iterations = 1000
116116
benchmark(name, setup, stmt, iterations)
117117

118+
name = "gamma:stdev"
119+
setup = "from scipy.stats import gamma; from random import random; rv = gamma(100.56789, 55.54321);"
120+
stmt = "y = rv.std()"
121+
iterations = 1000
122+
benchmark(name, setup, stmt, iterations)
123+
118124
name = "gamma:variance"
119125
setup = "from scipy.stats import gamma; from random import random; rv = gamma(100.56789, 55.54321);"
120126
stmt = "y = rv.var()"

lib/node_modules/@stdlib/math/base/dist/gamma/ctor/docs/repl.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
gamma.skewness: number
3737
Read-only property which returns the skewness.
3838

39+
gamma.stdev: number
40+
Read-only property which returns the standard deviation.
41+
3942
gamma.variance: number
4043
Read-only property which returns the variance.
4144

@@ -72,6 +75,8 @@
7275
1.0
7376
> gamma.skewness
7477
~0.816
78+
> gamma.stdev
79+
0.49
7580
> gamma.variance
7681
0.24
7782
> gamma.cdf( 0.8 )

lib/node_modules/@stdlib/math/base/dist/gamma/ctor/lib/ctor.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ var mean = require( '@stdlib/math/base/dist/gamma/mean' );
1111
var mode = require( '@stdlib/math/base/dist/gamma/mode' );
1212
var quantile = require( '@stdlib/math/base/dist/gamma/quantile' );
1313
var skewness = require( '@stdlib/math/base/dist/gamma/skewness' );
14+
var stdev = require( '@stdlib/math/base/dist/gamma/stdev' );
1415
var variance = require( '@stdlib/math/base/dist/gamma/variance' );
1516
var cdf = require( '@stdlib/math/base/dist/gamma/cdf' );
1617
var logpdf = require( '@stdlib/math/base/dist/gamma/logpdf' );
@@ -258,12 +259,34 @@ Object.defineProperty( Gamma.prototype, 'skewness', {
258259
}
259260
});
260261

262+
/**
263+
* Gamma distribution standard deviation.
264+
*
265+
* @memberof Gamma.prototype
266+
* @name stdev
267+
* @type {PositiveNumber}
268+
* @see [standard deviation]{@link https://en.wikipedia.org/wiki/Standard_deviation}
269+
*
270+
* @example
271+
* var gamma = new Gamma( 4.0, 12.0 );
272+
*
273+
* var v = gamma.stdev;
274+
* // returns ~0.028
275+
*/
276+
Object.defineProperty( Gamma.prototype, 'stdev', {
277+
'configurable': false,
278+
'enumerable': true,
279+
'get': function get() {
280+
return stdev( this.alpha, this.beta );
281+
}
282+
});
283+
261284
/**
262285
* Gamma distribution variance.
263286
*
264287
* @memberof Gamma.prototype
265288
* @name variance
266-
* @type {number}
289+
* @type {PositiveNumber}
267290
* @see [variance]{@link https://en.wikipedia.org/wiki/Variance}
268291
*
269292
* @example

lib/node_modules/@stdlib/math/base/dist/gamma/ctor/test/test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ var entropy = require( '@stdlib/math/base/dist/gamma/entropy' );
1414
var kurtosis = require( '@stdlib/math/base/dist/gamma/kurtosis' );
1515
var skewness = require( '@stdlib/math/base/dist/gamma/skewness' );
1616
var variance = require( '@stdlib/math/base/dist/gamma/variance' );
17+
var stdev = require( '@stdlib/math/base/dist/gamma/stdev' );
1718
var mode = require( '@stdlib/math/base/dist/gamma/mode' );
1819
var mean = require( '@stdlib/math/base/dist/gamma/mean' );
1920
var Gamma = require( './../lib' );
@@ -266,6 +267,17 @@ tape( 'the distribution prototype has a property for retrieving the distribution
266267
t.end();
267268
});
268269

270+
tape( 'the distribution prototype has a property for retrieving the distribution standard deviation', function test( t ) {
271+
var gamma;
272+
273+
t.strictEqual( hasOwnProp( Gamma.prototype, 'stdev' ), true, 'has property' );
274+
275+
gamma = new Gamma( 3.0, 5.0 );
276+
t.strictEqual( gamma.stdev, stdev( 3.0, 5.0 ), 'returns expected value' );
277+
278+
t.end();
279+
});
280+
269281
tape( 'the distribution prototype has a property for retrieving the distribution variance', function test( t ) {
270282
var gamma;
271283

lib/node_modules/@stdlib/math/base/dist/geometric/ctor/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,17 @@ var skewness = geometric.skewness;
135135
// returns ~2.066
136136
```
137137

138+
#### Geometric.prototype.stdev
139+
140+
Returns the [standard deviation][standard-deviation].
141+
142+
``` javascript
143+
var geometric = new Geometric( 0.4 );
144+
145+
var s = geometric.stdev;
146+
// returns ~1.936
147+
```
148+
138149
#### Geometric.prototype.variance
139150

140151
Returns the [variance][variance].
@@ -292,6 +303,7 @@ var y = geometric.cdf( 2.0 );
292303
[median]: https://en.wikipedia.org/wiki/Median
293304
[mode]: https://en.wikipedia.org/wiki/Mode_%28statistics%29
294305
[skewness]: https://en.wikipedia.org/wiki/Skewness
306+
[standard-deviation]: https://en.wikipedia.org/wiki/Standard_deviation
295307
[variance]: https://en.wikipedia.org/wiki/Variance
296308

297309
</section>

lib/node_modules/@stdlib/math/base/dist/geometric/ctor/benchmark/benchmark.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,31 @@ bench( pkg+':skewness', function benchmark( b ) {
233233
b.end();
234234
});
235235

236+
bench( pkg+':stdev', function benchmark( b ) {
237+
var dist;
238+
var p;
239+
var y;
240+
var i;
241+
242+
p = 0.54;
243+
dist = new Geometric( p );
244+
245+
b.tic();
246+
for ( i = 0; i < b.iterations; i++ ) {
247+
dist.p = randu();
248+
y = dist.stdev;
249+
if ( isnan( y ) ) {
250+
b.fail( 'should not return NaN' );
251+
}
252+
}
253+
b.toc();
254+
if ( isnan( y ) ) {
255+
b.fail( 'should not return NaN' );
256+
}
257+
b.pass( 'benchmark finished' );
258+
b.end();
259+
});
260+
236261
bench( pkg+':variance', function benchmark( b ) {
237262
var dist;
238263
var p;

0 commit comments

Comments
 (0)