@stdlib/stats-base-dists-beta-logpdf 0.0.7 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +1 -1
- package/README.md +18 -4
- package/SECURITY.md +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +7 -0
- package/docs/types/index.d.ts +1 -1
- package/lib/index.js +3 -3
- package/package.json +17 -16
- package/docs/repl.txt +0 -83
- package/docs/types/test.ts +0 -119
- /package/lib/{logpdf.js → main.js} +0 -0
package/NOTICE
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Copyright (c) 2016-
|
|
1
|
+
Copyright (c) 2016-2024 The Stdlib Authors.
|
package/README.md
CHANGED
|
@@ -18,6 +18,17 @@ limitations under the License.
|
|
|
18
18
|
|
|
19
19
|
-->
|
|
20
20
|
|
|
21
|
+
|
|
22
|
+
<details>
|
|
23
|
+
<summary>
|
|
24
|
+
About stdlib...
|
|
25
|
+
</summary>
|
|
26
|
+
<p>We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we've built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.</p>
|
|
27
|
+
<p>The library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.</p>
|
|
28
|
+
<p>When you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.</p>
|
|
29
|
+
<p>To join us in bringing numerical computing to the web, get started by checking us out on <a href="https://github.com/stdlib-js/stdlib">GitHub</a>, and please consider <a href="https://opencollective.com/stdlib">financially supporting stdlib</a>. We greatly appreciate your continued support!</p>
|
|
30
|
+
</details>
|
|
31
|
+
|
|
21
32
|
# Logarithm of Probability Density Function
|
|
22
33
|
|
|
23
34
|
[![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] <!-- [![dependencies][dependencies-image]][dependencies-url] -->
|
|
@@ -211,7 +222,7 @@ See [LICENSE][stdlib-license].
|
|
|
211
222
|
|
|
212
223
|
## Copyright
|
|
213
224
|
|
|
214
|
-
Copyright © 2016-
|
|
225
|
+
Copyright © 2016-2024. The Stdlib [Authors][stdlib-authors].
|
|
215
226
|
|
|
216
227
|
</section>
|
|
217
228
|
|
|
@@ -224,8 +235,8 @@ Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].
|
|
|
224
235
|
[npm-image]: http://img.shields.io/npm/v/@stdlib/stats-base-dists-beta-logpdf.svg
|
|
225
236
|
[npm-url]: https://npmjs.org/package/@stdlib/stats-base-dists-beta-logpdf
|
|
226
237
|
|
|
227
|
-
[test-image]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/actions/workflows/test.yml/badge.svg?branch=v0.0
|
|
228
|
-
[test-url]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/actions/workflows/test.yml?query=branch:v0.0
|
|
238
|
+
[test-image]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/actions/workflows/test.yml/badge.svg?branch=v0.2.0
|
|
239
|
+
[test-url]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/actions/workflows/test.yml?query=branch:v0.2.0
|
|
229
240
|
|
|
230
241
|
[coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/stats-base-dists-beta-logpdf/main.svg
|
|
231
242
|
[coverage-url]: https://codecov.io/github/stdlib-js/stats-base-dists-beta-logpdf?branch=main
|
|
@@ -238,7 +249,7 @@ Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].
|
|
|
238
249
|
-->
|
|
239
250
|
|
|
240
251
|
[chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
|
|
241
|
-
[chat-url]: https://gitter.im
|
|
252
|
+
[chat-url]: https://app.gitter.im/#/room/#stdlib-js_stdlib:gitter.im
|
|
242
253
|
|
|
243
254
|
[stdlib]: https://github.com/stdlib-js/stdlib
|
|
244
255
|
|
|
@@ -248,8 +259,11 @@ Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].
|
|
|
248
259
|
[es-module]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
|
|
249
260
|
|
|
250
261
|
[deno-url]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/tree/deno
|
|
262
|
+
[deno-readme]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/blob/deno/README.md
|
|
251
263
|
[umd-url]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/tree/umd
|
|
264
|
+
[umd-readme]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/blob/umd/README.md
|
|
252
265
|
[esm-url]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/tree/esm
|
|
266
|
+
[esm-readme]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/blob/esm/README.md
|
|
253
267
|
[branches-url]: https://github.com/stdlib-js/stats-base-dists-beta-logpdf/blob/main/branches.md
|
|
254
268
|
|
|
255
269
|
[stdlib-license]: https://raw.githubusercontent.com/stdlib-js/stats-base-dists-beta-logpdf/main/LICENSE
|
package/SECURITY.md
ADDED
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";var c=function(e,r){return function(){return r||e((r={exports:{}}).exports,r),r.exports}};var y=c(function(E,g){
|
|
2
|
+
var A=require('@stdlib/math-base-special-betaln/dist'),f=require('@stdlib/math-base-assert-is-nan/dist'),B=require('@stdlib/math-base-special-log1p/dist'),v=require('@stdlib/math-base-special-ln/dist'),F=require('@stdlib/constants-float64-pinf/dist'),o=require('@stdlib/constants-float64-ninf/dist');function O(e,r,u){var n;return f(e)||f(r)||f(u)||r<=0||u<=0?NaN:e<0||e>1?o:e===0?r<1?F:r>1?o:v(u):e===1?u<1?F:u>1?o:v(r):(n=(r-1)*v(e),n+=(u-1)*B(-e),n-=A(r,u),n)}g.exports=O
|
|
3
|
+
});var P=c(function(G,d){
|
|
4
|
+
var R=require('@stdlib/utils-constant-function/dist'),j=require('@stdlib/math-base-special-betaln/dist'),q=require('@stdlib/math-base-assert-is-nan/dist'),k=require('@stdlib/math-base-special-log1p/dist'),s=require('@stdlib/math-base-special-ln/dist'),N=require('@stdlib/constants-float64-ninf/dist'),I=require('@stdlib/constants-float64-pinf/dist');function w(e,r){var u;if(q(e)||q(r)||e<=0||r<=0)return R(NaN);return u=j(e,r),n;function n(i){var t;return q(i)?NaN:i<0||i>1?N:i===0?e<1?I:e>1?N:s(r):i===1?r<1?I:r>1?N:s(e):(t=-u,t+=(e-1)*s(i)+(r-1)*k(-i),t)}}d.exports=w
|
|
5
|
+
});var z=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),m=y(),C=P();z(m,"factory",C);module.exports=m;
|
|
6
|
+
/** @license Apache-2.0 */
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../lib/main.js", "../lib/factory.js", "../lib/index.js"],
|
|
4
|
+
"sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar betaln = require( '@stdlib/math-base-special-betaln' );\nvar isnan = require( '@stdlib/math-base-assert-is-nan' );\nvar log1p = require( '@stdlib/math-base-special-log1p' );\nvar ln = require( '@stdlib/math-base-special-ln' );\nvar PINF = require( '@stdlib/constants-float64-pinf' );\nvar NINF = require( '@stdlib/constants-float64-ninf' );\n\n\n// MAIN //\n\n/**\n* Evaluates the natural logarithm of the probability density function (logPDF) for a beta distribution with first shape parameter `alpha` and second shape parameter `beta` at a value `x`.\n*\n* @param {number} x - input value\n* @param {PositiveNumber} alpha - first shape parameter\n* @param {PositiveNumber} beta - second shape parameter\n* @returns {number} evaluated logPDF\n*\n* @example\n* var y = logpdf( 0.5, 1.0, 1.0 );\n* // returns 0.0\n*\n* @example\n* var y = logpdf( 0.5, 2.0, 4.0 );\n* // returns ~0.223\n*\n* @example\n* var y = logpdf( 0.2, 2.0, 2.0 );\n* // returns ~-0.041\n*\n* @example\n* var y = logpdf( 0.8, 4.0, 4.0 );\n* // returns ~-0.556\n*\n* @example\n* var y = logpdf( -0.5, 4.0, 2.0 );\n* // returns -Infinity\n*\n* @example\n* var y = logpdf( 1.5, 4.0, 2.0 );\n* // returns -Infinity\n*\n* @example\n* var y = logpdf( 0.5, -1.0, 0.5 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 0.5, 0.5, -1.0 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( NaN, 1.0, 1.0 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 0.5, NaN, 1.0 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 0.5, 1.0, NaN );\n* // returns NaN\n*/\nfunction logpdf( x, alpha, beta ) {\n\tvar out;\n\tif (\n\t\tisnan( x ) ||\n\t\tisnan( alpha ) ||\n\t\tisnan( beta ) ||\n\t\talpha <= 0.0 ||\n\t\tbeta <= 0.0\n\t) {\n\t\treturn NaN;\n\t}\n\tif ( x < 0.0 || x > 1.0 ) {\n\t\t// Support of the Beta distribution: [0,1]\n\t\treturn NINF;\n\t}\n\tif ( x === 0.0 ) {\n\t\tif ( alpha < 1.0 ) {\n\t\t\treturn PINF;\n\t\t}\n\t\tif ( alpha > 1.0 ) {\n\t\t\treturn NINF;\n\t\t}\n\t\treturn ln( beta );\n\t}\n\tif ( x === 1.0 ) {\n\t\tif ( beta < 1.0 ) {\n\t\t\treturn PINF;\n\t\t}\n\t\tif ( beta > 1.0 ) {\n\t\t\treturn NINF;\n\t\t}\n\t\treturn ln( alpha );\n\t}\n\tout = ( alpha-1.0 ) * ln( x );\n\tout += ( beta-1.0 ) * log1p( -x );\n\tout -= betaln( alpha, beta );\n\treturn out;\n}\n\n\n// EXPORTS //\n\nmodule.exports = logpdf;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n// MODULES //\n\nvar constantFunction = require( '@stdlib/utils-constant-function' );\nvar betaln = require( '@stdlib/math-base-special-betaln' );\nvar isnan = require( '@stdlib/math-base-assert-is-nan' );\nvar log1p = require( '@stdlib/math-base-special-log1p' );\nvar ln = require( '@stdlib/math-base-special-ln' );\nvar NINF = require( '@stdlib/constants-float64-ninf' );\nvar PINF = require( '@stdlib/constants-float64-pinf' );\n\n\n// MAIN //\n\n/**\n* Returns a function for evaluating the natural logarithm of the probability density function (logPDF) for a beta distribution with first shape parameter `alpha` and second shape parameter `beta`.\n*\n* @param {PositiveNumber} alpha - first shape parameter\n* @param {PositiveNumber} beta - second shape parameter\n* @returns {Function} logPDF\n*\n* @example\n* var logpdf = factory( 0.5, 0.5 );\n*\n* var y = logpdf( 0.8 );\n* // returns ~-0.228\n*\n* y = logpdf( 0.3 );\n* // returns ~-0.364\n*/\nfunction factory( alpha, beta ) {\n\tvar betalnAB;\n\tif (\n\t\tisnan( alpha ) ||\n\t\tisnan( beta ) ||\n\t\talpha <= 0.0 ||\n\t\tbeta <= 0.0\n\t) {\n\t\treturn constantFunction( NaN );\n\t}\n\tbetalnAB = betaln( alpha, beta );\n\treturn logpdf;\n\n\t/**\n\t* Evaluates the natural logarithm of the probability density function (PDF) for a beta distribution.\n\t*\n\t* @private\n\t* @param {number} x - input value\n\t* @returns {number} evaluated natural logarithm of the PDF\n\t*\n\t* @example\n\t* var y = logpdf( 0.3 );\n\t* // returns <number>\n\t*/\n\tfunction logpdf( x ) {\n\t\tvar out;\n\t\tif ( isnan( x ) ) {\n\t\t\treturn NaN;\n\t\t}\n\t\tif ( x < 0.0 || x > 1.0 ) {\n\t\t\t// Support of the Beta distribution: [0,1]\n\t\t\treturn NINF;\n\t\t}\n\t\tif ( x === 0.0 ) {\n\t\t\tif ( alpha < 1.0 ) {\n\t\t\t\treturn PINF;\n\t\t\t}\n\t\t\tif ( alpha > 1.0 ) {\n\t\t\t\treturn NINF;\n\t\t\t}\n\t\t\treturn ln( beta );\n\t\t}\n\t\tif ( x === 1.0 ) {\n\t\t\tif ( beta < 1.0 ) {\n\t\t\t\treturn PINF;\n\t\t\t}\n\t\t\tif ( beta > 1.0 ) {\n\t\t\t\treturn NINF;\n\t\t\t}\n\t\t\treturn ln( alpha );\n\t\t}\n\t\tout = -betalnAB;\n\t\tout += ( ( alpha-1.0 )*ln(x) ) + ( ( beta-1.0 )*log1p(-x) );\n\t\treturn out;\n\t}\n}\n\n\n// EXPORTS //\n\nmodule.exports = factory;\n", "/**\n* @license Apache-2.0\n*\n* Copyright (c) 2018 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/**\n* Evaluate the natural logarithm of the probability density function (logPDF) for a beta distribution.\n*\n* @module @stdlib/stats-base-dists-beta-logpdf\n*\n* @example\n* var logpdf = require( '@stdlib/stats-base-dists-beta-logpdf' );\n*\n* var y = logpdf( 0.5, 1.0, 1.0 );\n* // returns 0.0\n*\n* y = logpdf( 0.5, 2.0, 4.0 );\n* // returns ~0.223\n*\n* @example\n* var factory = require( '@stdlib/stats-base-dists-beta-logpdf' ).factory;\n*\n* var logpdf = factory( 0.5, 0.5 );\n*\n* var y = logpdf( 0.8 );\n* // returns ~-0.228\n*\n* y = logpdf( 0.3 );\n* // returns ~-0.364\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );\nvar main = require( './main.js' );\nvar factory = require( './factory.js' );\n\n\n// MAIN //\n\nsetReadOnly( main, 'factory', factory );\n\n\n// EXPORTS //\n\nmodule.exports = main;\n"],
|
|
5
|
+
"mappings": "uGAAA,IAAAA,EAAAC,EAAA,SAAAC,EAAAC,EAAA,cAsBA,IAAIC,EAAS,QAAS,kCAAmC,EACrDC,EAAQ,QAAS,iCAAkC,EACnDC,EAAQ,QAAS,iCAAkC,EACnDC,EAAK,QAAS,8BAA+B,EAC7CC,EAAO,QAAS,gCAAiC,EACjDC,EAAO,QAAS,gCAAiC,EAyDrD,SAASC,EAAQC,EAAGC,EAAOC,EAAO,CACjC,IAAIC,EACJ,OACCT,EAAOM,CAAE,GACTN,EAAOO,CAAM,GACbP,EAAOQ,CAAK,GACZD,GAAS,GACTC,GAAQ,EAED,IAEHF,EAAI,GAAOA,EAAI,EAEZF,EAEHE,IAAM,EACLC,EAAQ,EACLJ,EAEHI,EAAQ,EACLH,EAEDF,EAAIM,CAAK,EAEZF,IAAM,EACLE,EAAO,EACJL,EAEHK,EAAO,EACJJ,EAEDF,EAAIK,CAAM,GAElBE,GAAQF,EAAM,GAAQL,EAAII,CAAE,EAC5BG,IAASD,EAAK,GAAQP,EAAO,CAACK,CAAE,EAChCG,GAAOV,EAAQQ,EAAOC,CAAK,EACpBC,EACR,CAKAX,EAAO,QAAUO,IC9HjB,IAAAK,EAAAC,EAAA,SAAAC,EAAAC,EAAA,cAsBA,IAAIC,EAAmB,QAAS,iCAAkC,EAC9DC,EAAS,QAAS,kCAAmC,EACrDC,EAAQ,QAAS,iCAAkC,EACnDC,EAAQ,QAAS,iCAAkC,EACnDC,EAAK,QAAS,8BAA+B,EAC7CC,EAAO,QAAS,gCAAiC,EACjDC,EAAO,QAAS,gCAAiC,EAqBrD,SAASC,EAASC,EAAOC,EAAO,CAC/B,IAAIC,EACJ,GACCR,EAAOM,CAAM,GACbN,EAAOO,CAAK,GACZD,GAAS,GACTC,GAAQ,EAER,OAAOT,EAAkB,GAAI,EAE9B,OAAAU,EAAWT,EAAQO,EAAOC,CAAK,EACxBE,EAaP,SAASA,EAAQC,EAAI,CACpB,IAAIC,EACJ,OAAKX,EAAOU,CAAE,EACN,IAEHA,EAAI,GAAOA,EAAI,EAEZP,EAEHO,IAAM,EACLJ,EAAQ,EACLF,EAEHE,EAAQ,EACLH,EAEDD,EAAIK,CAAK,EAEZG,IAAM,EACLH,EAAO,EACJH,EAEHG,EAAO,EACJJ,EAEDD,EAAII,CAAM,GAElBK,EAAM,CAACH,EACPG,IAAWL,EAAM,GAAMJ,EAAGQ,CAAC,GAAUH,EAAK,GAAMN,EAAM,CAACS,CAAC,EACjDC,EACR,CACD,CAKAd,EAAO,QAAUQ,IC7DjB,IAAIO,EAAc,QAAS,uDAAwD,EAC/EC,EAAO,IACPC,EAAU,IAKdF,EAAaC,EAAM,UAAWC,CAAQ,EAKtC,OAAO,QAAUD",
|
|
6
|
+
"names": ["require_main", "__commonJSMin", "exports", "module", "betaln", "isnan", "log1p", "ln", "PINF", "NINF", "logpdf", "x", "alpha", "beta", "out", "require_factory", "__commonJSMin", "exports", "module", "constantFunction", "betaln", "isnan", "log1p", "ln", "NINF", "PINF", "factory", "alpha", "beta", "betalnAB", "logpdf", "x", "out", "setReadOnly", "main", "factory"]
|
|
7
|
+
}
|
package/docs/types/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -47,15 +47,15 @@
|
|
|
47
47
|
// MODULES //
|
|
48
48
|
|
|
49
49
|
var setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );
|
|
50
|
-
var
|
|
50
|
+
var main = require( './main.js' );
|
|
51
51
|
var factory = require( './factory.js' );
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
// MAIN //
|
|
55
55
|
|
|
56
|
-
setReadOnly(
|
|
56
|
+
setReadOnly( main, 'factory', factory );
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
// EXPORTS //
|
|
60
60
|
|
|
61
|
-
module.exports =
|
|
61
|
+
module.exports = main;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stdlib/stats-base-dists-beta-logpdf",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Beta distribution logarithm of probability density function (PDF).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -37,23 +37,24 @@
|
|
|
37
37
|
"url": "https://github.com/stdlib-js/stdlib/issues"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@stdlib/constants-float64-ninf": "^0.0
|
|
41
|
-
"@stdlib/constants-float64-pinf": "^0.0
|
|
42
|
-
"@stdlib/math-base-assert-is-nan": "^0.0
|
|
43
|
-
"@stdlib/math-base-special-betaln": "^0.0
|
|
44
|
-
"@stdlib/math-base-special-ln": "^0.0
|
|
45
|
-
"@stdlib/math-base-special-log1p": "^0.0
|
|
46
|
-
"@stdlib/utils-constant-function": "^0.0
|
|
47
|
-
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.0
|
|
40
|
+
"@stdlib/constants-float64-ninf": "^0.2.0",
|
|
41
|
+
"@stdlib/constants-float64-pinf": "^0.2.0",
|
|
42
|
+
"@stdlib/math-base-assert-is-nan": "^0.2.0",
|
|
43
|
+
"@stdlib/math-base-special-betaln": "^0.2.0",
|
|
44
|
+
"@stdlib/math-base-special-ln": "^0.2.0",
|
|
45
|
+
"@stdlib/math-base-special-log1p": "^0.2.0",
|
|
46
|
+
"@stdlib/utils-constant-function": "^0.2.0",
|
|
47
|
+
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@stdlib/
|
|
51
|
-
"@stdlib/
|
|
52
|
-
"@stdlib/
|
|
53
|
-
"@stdlib/random-base-randu": "^0.0.x",
|
|
50
|
+
"@stdlib/constants-float64-eps": "^0.2.0",
|
|
51
|
+
"@stdlib/math-base-special-abs": "^0.2.0",
|
|
52
|
+
"@stdlib/random-base-randu": "^0.1.0",
|
|
54
53
|
"tape": "git+https://github.com/kgryte/tape.git#fix/globby",
|
|
55
54
|
"istanbul": "^0.4.1",
|
|
56
|
-
"tap-
|
|
55
|
+
"tap-min": "git+https://github.com/Planeshifter/tap-min.git",
|
|
56
|
+
"@stdlib/bench-harness": "^0.2.0",
|
|
57
|
+
"@stdlib/bench": "^0.3.1"
|
|
57
58
|
},
|
|
58
59
|
"engines": {
|
|
59
60
|
"node": ">=0.10.0",
|
|
@@ -90,7 +91,7 @@
|
|
|
90
91
|
"continuous"
|
|
91
92
|
],
|
|
92
93
|
"funding": {
|
|
93
|
-
"type": "
|
|
94
|
-
"url": "https://
|
|
94
|
+
"type": "opencollective",
|
|
95
|
+
"url": "https://opencollective.com/stdlib"
|
|
95
96
|
}
|
|
96
97
|
}
|
package/docs/repl.txt
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
{{alias}}( x, α, β )
|
|
3
|
-
Evaluates the natural logarithm of the probability density function (PDF)
|
|
4
|
-
for a beta distribution with first shape parameter `α` and second shape
|
|
5
|
-
parameter `β` at a value `x`.
|
|
6
|
-
|
|
7
|
-
If provided `NaN` as any argument, the function returns `NaN`.
|
|
8
|
-
|
|
9
|
-
If `α <= 0` or `β <= 0`, the function returns `NaN`.
|
|
10
|
-
|
|
11
|
-
Parameters
|
|
12
|
-
----------
|
|
13
|
-
x: number
|
|
14
|
-
Input value.
|
|
15
|
-
|
|
16
|
-
α: number
|
|
17
|
-
First shape parameter.
|
|
18
|
-
|
|
19
|
-
β: number
|
|
20
|
-
Second shape parameter.
|
|
21
|
-
|
|
22
|
-
Returns
|
|
23
|
-
-------
|
|
24
|
-
out: number
|
|
25
|
-
Natural logarithm of the PDF.
|
|
26
|
-
|
|
27
|
-
Examples
|
|
28
|
-
--------
|
|
29
|
-
> var y = {{alias}}( 0.5, 1.0, 1.0 )
|
|
30
|
-
0.0
|
|
31
|
-
> y = {{alias}}( 0.5, 2.0, 4.0 )
|
|
32
|
-
~0.223
|
|
33
|
-
> y = {{alias}}( 0.2, 2.0, 2.0 )
|
|
34
|
-
~-0.041
|
|
35
|
-
> y = {{alias}}( 0.8, 4.0, 4.0 )
|
|
36
|
-
~-0.556
|
|
37
|
-
> y = {{alias}}( -0.5, 4.0, 2.0 )
|
|
38
|
-
-Infinity
|
|
39
|
-
> y = {{alias}}( 1.5, 4.0, 2.0 )
|
|
40
|
-
-Infinity
|
|
41
|
-
|
|
42
|
-
> y = {{alias}}( 0.5, -1.0, 0.5 )
|
|
43
|
-
NaN
|
|
44
|
-
> y = {{alias}}( 0.5, 0.5, -1.0 )
|
|
45
|
-
NaN
|
|
46
|
-
|
|
47
|
-
> y = {{alias}}( NaN, 1.0, 1.0 )
|
|
48
|
-
NaN
|
|
49
|
-
> y = {{alias}}( 0.5, NaN, 1.0 )
|
|
50
|
-
NaN
|
|
51
|
-
> y = {{alias}}( 0.5, 1.0, NaN )
|
|
52
|
-
NaN
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
{{alias}}.factory( α, β )
|
|
56
|
-
Returns a function for evaluating the natural logarithm of the probability
|
|
57
|
-
density function (PDF) of a beta distribution with first shape parameter `α`
|
|
58
|
-
and second shape parameter `β`.
|
|
59
|
-
|
|
60
|
-
Parameters
|
|
61
|
-
----------
|
|
62
|
-
α: number
|
|
63
|
-
First shape parameter.
|
|
64
|
-
|
|
65
|
-
β: number
|
|
66
|
-
Second shape parameter.
|
|
67
|
-
|
|
68
|
-
Returns
|
|
69
|
-
-------
|
|
70
|
-
fcn: Function
|
|
71
|
-
Function to evaluate the natural logarithm of the PDF.
|
|
72
|
-
|
|
73
|
-
Examples
|
|
74
|
-
--------
|
|
75
|
-
> var mylogpdf = {{alias}}.factory( 0.5, 0.5 );
|
|
76
|
-
> var y = mylogpdf( 0.8 )
|
|
77
|
-
~-0.228
|
|
78
|
-
> y = mylogpdf( 0.3 )
|
|
79
|
-
~-0.364
|
|
80
|
-
|
|
81
|
-
See Also
|
|
82
|
-
--------
|
|
83
|
-
|
package/docs/types/test.ts
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @license Apache-2.0
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) 2019 The Stdlib Authors.
|
|
5
|
-
*
|
|
6
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
* you may not use this file except in compliance with the License.
|
|
8
|
-
* You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
* See the License for the specific language governing permissions and
|
|
16
|
-
* limitations under the License.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
import logpdf = require( './index' );
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
// TESTS //
|
|
23
|
-
|
|
24
|
-
// The function returns a number...
|
|
25
|
-
{
|
|
26
|
-
logpdf( 2, 2, 4 ); // $ExpectType number
|
|
27
|
-
logpdf( 1, 2, 8 ); // $ExpectType number
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// The compiler throws an error if the function is provided values other than three numbers...
|
|
31
|
-
{
|
|
32
|
-
logpdf( true, 3, 6 ); // $ExpectError
|
|
33
|
-
logpdf( false, 2, 4 ); // $ExpectError
|
|
34
|
-
logpdf( '5', 1, 2 ); // $ExpectError
|
|
35
|
-
logpdf( [], 1, 2 ); // $ExpectError
|
|
36
|
-
logpdf( {}, 2, 4 ); // $ExpectError
|
|
37
|
-
logpdf( ( x: number ): number => x, 2, 4 ); // $ExpectError
|
|
38
|
-
|
|
39
|
-
logpdf( 9, true, 12 ); // $ExpectError
|
|
40
|
-
logpdf( 9, false, 12 ); // $ExpectError
|
|
41
|
-
logpdf( 5, '5', 10 ); // $ExpectError
|
|
42
|
-
logpdf( 8, [], 16 ); // $ExpectError
|
|
43
|
-
logpdf( 9, {}, 18 ); // $ExpectError
|
|
44
|
-
logpdf( 8, ( x: number ): number => x, 16 ); // $ExpectError
|
|
45
|
-
|
|
46
|
-
logpdf( 9, 5, true ); // $ExpectError
|
|
47
|
-
logpdf( 9, 5, false ); // $ExpectError
|
|
48
|
-
logpdf( 5, 2, '5' ); // $ExpectError
|
|
49
|
-
logpdf( 8, 4, [] ); // $ExpectError
|
|
50
|
-
logpdf( 9, 4, {} ); // $ExpectError
|
|
51
|
-
logpdf( 8, 5, ( x: number ): number => x ); // $ExpectError
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// The compiler throws an error if the function is provided an unsupported number of arguments...
|
|
55
|
-
{
|
|
56
|
-
logpdf(); // $ExpectError
|
|
57
|
-
logpdf( 2 ); // $ExpectError
|
|
58
|
-
logpdf( 2, 0 ); // $ExpectError
|
|
59
|
-
logpdf( 2, 0, 4, 1 ); // $ExpectError
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Attached to main export is a `factory` method which returns a function...
|
|
63
|
-
{
|
|
64
|
-
logpdf.factory( 3, 4 ); // $ExpectType Unary
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// The `factory` method returns a function which returns a number...
|
|
68
|
-
{
|
|
69
|
-
const fcn = logpdf.factory( 3, 4 );
|
|
70
|
-
fcn( 2 ); // $ExpectType number
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// The compiler throws an error if the function returned by the `factory` method is provided invalid arguments...
|
|
74
|
-
{
|
|
75
|
-
const fcn = logpdf.factory( 3, 4 );
|
|
76
|
-
fcn( true ); // $ExpectError
|
|
77
|
-
fcn( false ); // $ExpectError
|
|
78
|
-
fcn( '5' ); // $ExpectError
|
|
79
|
-
fcn( [] ); // $ExpectError
|
|
80
|
-
fcn( {} ); // $ExpectError
|
|
81
|
-
fcn( ( x: number ): number => x ); // $ExpectError
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// The compiler throws an error if the function returned by the `factory` method is provided an unsupported number of arguments...
|
|
85
|
-
{
|
|
86
|
-
const fcn = logpdf.factory( 3, 4 );
|
|
87
|
-
fcn(); // $ExpectError
|
|
88
|
-
fcn( 2, 0 ); // $ExpectError
|
|
89
|
-
fcn( 2, 0, 1 ); // $ExpectError
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// The compiler throws an error if the `factory` method is provided values other than two numbers...
|
|
93
|
-
{
|
|
94
|
-
logpdf.factory( true, 3 ); // $ExpectError
|
|
95
|
-
logpdf.factory( false, 2 ); // $ExpectError
|
|
96
|
-
logpdf.factory( '5', 1 ); // $ExpectError
|
|
97
|
-
logpdf.factory( [], 1 ); // $ExpectError
|
|
98
|
-
logpdf.factory( {}, 2 ); // $ExpectError
|
|
99
|
-
logpdf.factory( ( x: number ): number => x, 2 ); // $ExpectError
|
|
100
|
-
|
|
101
|
-
logpdf.factory( 9, true ); // $ExpectError
|
|
102
|
-
logpdf.factory( 9, false ); // $ExpectError
|
|
103
|
-
logpdf.factory( 5, '5' ); // $ExpectError
|
|
104
|
-
logpdf.factory( 8, [] ); // $ExpectError
|
|
105
|
-
logpdf.factory( 9, {} ); // $ExpectError
|
|
106
|
-
logpdf.factory( 8, ( x: number ): number => x ); // $ExpectError
|
|
107
|
-
|
|
108
|
-
logpdf.factory( [], true ); // $ExpectError
|
|
109
|
-
logpdf.factory( {}, false ); // $ExpectError
|
|
110
|
-
logpdf.factory( false, '5' ); // $ExpectError
|
|
111
|
-
logpdf.factory( {}, [] ); // $ExpectError
|
|
112
|
-
logpdf.factory( '5', ( x: number ): number => x ); // $ExpectError
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// The compiler throws an error if the `factory` method is provided an unsupported number of arguments...
|
|
116
|
-
{
|
|
117
|
-
logpdf.factory( 0 ); // $ExpectError
|
|
118
|
-
logpdf.factory( 0, 4, 8 ); // $ExpectError
|
|
119
|
-
}
|
|
File without changes
|