@stdlib/stats-base-dists-erlang-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 +18 -17
- package/docs/repl.txt +0 -84
- 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] -->
|
|
@@ -201,7 +212,7 @@ See [LICENSE][stdlib-license].
|
|
|
201
212
|
|
|
202
213
|
## Copyright
|
|
203
214
|
|
|
204
|
-
Copyright © 2016-
|
|
215
|
+
Copyright © 2016-2024. The Stdlib [Authors][stdlib-authors].
|
|
205
216
|
|
|
206
217
|
</section>
|
|
207
218
|
|
|
@@ -214,8 +225,8 @@ Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].
|
|
|
214
225
|
[npm-image]: http://img.shields.io/npm/v/@stdlib/stats-base-dists-erlang-logpdf.svg
|
|
215
226
|
[npm-url]: https://npmjs.org/package/@stdlib/stats-base-dists-erlang-logpdf
|
|
216
227
|
|
|
217
|
-
[test-image]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/actions/workflows/test.yml/badge.svg?branch=v0.0
|
|
218
|
-
[test-url]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/actions/workflows/test.yml?query=branch:v0.0
|
|
228
|
+
[test-image]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/actions/workflows/test.yml/badge.svg?branch=v0.2.0
|
|
229
|
+
[test-url]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/actions/workflows/test.yml?query=branch:v0.2.0
|
|
219
230
|
|
|
220
231
|
[coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/stats-base-dists-erlang-logpdf/main.svg
|
|
221
232
|
[coverage-url]: https://codecov.io/github/stdlib-js/stats-base-dists-erlang-logpdf?branch=main
|
|
@@ -228,7 +239,7 @@ Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].
|
|
|
228
239
|
-->
|
|
229
240
|
|
|
230
241
|
[chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
|
|
231
|
-
[chat-url]: https://gitter.im
|
|
242
|
+
[chat-url]: https://app.gitter.im/#/room/#stdlib-js_stdlib:gitter.im
|
|
232
243
|
|
|
233
244
|
[stdlib]: https://github.com/stdlib-js/stdlib
|
|
234
245
|
|
|
@@ -238,8 +249,11 @@ Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].
|
|
|
238
249
|
[es-module]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
|
|
239
250
|
|
|
240
251
|
[deno-url]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/tree/deno
|
|
252
|
+
[deno-readme]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/blob/deno/README.md
|
|
241
253
|
[umd-url]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/tree/umd
|
|
254
|
+
[umd-readme]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/blob/umd/README.md
|
|
242
255
|
[esm-url]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/tree/esm
|
|
256
|
+
[esm-readme]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/blob/esm/README.md
|
|
243
257
|
[branches-url]: https://github.com/stdlib-js/stats-base-dists-erlang-logpdf/blob/main/branches.md
|
|
244
258
|
|
|
245
259
|
[stdlib-license]: https://raw.githubusercontent.com/stdlib-js/stats-base-dists-erlang-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 t=function(e,r){return function(){return r||e((r={exports:{}}).exports,r),r.exports}};var i=t(function(d,a){
|
|
2
|
+
var c=require('@stdlib/math-base-assert-is-nonnegative-integer/dist'),f=require('@stdlib/stats-base-dists-gamma-logpdf/dist');function v(e,r,s){return c(r)?f(e,r,s):NaN}a.exports=v
|
|
3
|
+
});var u=t(function(l,n){
|
|
4
|
+
var q=require('@stdlib/math-base-assert-is-nonnegative-integer/dist'),N=require('@stdlib/utils-constant-function/dist'),g=require('@stdlib/stats-base-dists-gamma-logpdf/dist').factory;function y(e,r){return q(e)?g(e,r):N(NaN)}n.exports=y
|
|
5
|
+
});var m=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),o=i(),p=u();m(o,"factory",p);module.exports=o;
|
|
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 isNonNegativeInteger = require( '@stdlib/math-base-assert-is-nonnegative-integer' );\nvar gammaLogPDF = require( '@stdlib/stats-base-dists-gamma-logpdf' );\n\n\n// MAIN //\n\n/**\n* Evaluates the natural logarithm of the probability density function (PDF) for an Erlang distribution with shape parameter `k` and rate parameter `lambda` at a value `x`.\n*\n* @param {number} x - input value\n* @param {NonNegativeInteger} k - shape parameter\n* @param {PositiveNumber} lambda - rate parameter\n* @returns {number} evaluated logPDF\n*\n* @example\n* var y = logpdf( 0.1, 1, 1.0 );\n* // returns ~-0.1\n*\n* @example\n* var y = logpdf( 0.5, 2, 2.5 );\n* // returns ~-0.111\n*\n* @example\n* var y = logpdf( -1.0, 4, 2.0 );\n* // returns -Infinity\n*\n* @example\n* var y = logpdf( NaN, 1, 1.0 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 0.0, NaN, 1.0 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 0.0, 1, NaN );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 2.0, -2, 0.5 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 2.0, 0.5, 0.5 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 2.0, 0.0, 2.0 );\n* // returns -Infinity\n*\n* @example\n* var y = logpdf( 0.0, 0.0, 2.0 );\n* // returns Infinity\n*\n* @example\n* var y = logpdf( 2.0, 1, 0.0 );\n* // returns NaN\n*\n* @example\n* var y = logpdf( 2.0, 1, -1.0 );\n* // returns NaN\n*/\nfunction logpdf( x, k, lambda ) {\n\tif ( !isNonNegativeInteger( k ) ) {\n\t\treturn NaN;\n\t}\n\treturn gammaLogPDF( x, k, lambda );\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 isNonNegativeInteger = require( '@stdlib/math-base-assert-is-nonnegative-integer' );\nvar constantFunction = require( '@stdlib/utils-constant-function' );\nvar factoryGamma = require( '@stdlib/stats-base-dists-gamma-logpdf' ).factory;\n\n\n// MAIN //\n\n/**\n* Returns a function for evaluating the natural logarithm of the probability density function (PDF) for an Erlang distribution with shape parameter `k` and rate parameter `lambda`.\n*\n* @param {NonNegativeInteger} k - shape parameter\n* @param {PositiveNumber} lambda - rate parameter\n* @returns {Function} logPDF\n*\n* @example\n* var myLogPDF = factory( 6.0, 7.0 );\n* var y = myLogPDF( 7.0 );\n* // returns ~-32.382\n*/\nfunction factory( k, lambda ) {\n\tif ( !isNonNegativeInteger( k ) ) {\n\t\treturn constantFunction( NaN );\n\t}\n\treturn factoryGamma( k, lambda );\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* Natural logarithm of the probability density function (PDF) for an Erlang distribution.\n*\n* @module @stdlib/stats-base-dists-erlang-logpdf\n*\n* @example\n* var logpdf = require( '@stdlib/stats-base-dists-erlang-logpdf' );\n*\n* var y = logpdf( 0.5, 2, 2.5 );\n* // returns ~-0.111\n*\n* var myLogPDF = logpdf.factory( 6, 7.0 );\n* y = myLogPDF( 7.0 );\n* // returns ~-1.864\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,EAAuB,QAAS,iDAAkD,EAClFC,EAAc,QAAS,uCAAwC,EA6DnE,SAASC,EAAQC,EAAGC,EAAGC,EAAS,CAC/B,OAAML,EAAsBI,CAAE,EAGvBH,EAAaE,EAAGC,EAAGC,CAAO,EAFzB,GAGT,CAKAN,EAAO,QAAUG,IC9FjB,IAAAI,EAAAC,EAAA,SAAAC,EAAAC,EAAA,cAsBA,IAAIC,EAAuB,QAAS,iDAAkD,EAClFC,EAAmB,QAAS,iCAAkC,EAC9DC,EAAe,QAAS,uCAAwC,EAAE,QAiBtE,SAASC,EAASC,EAAGC,EAAS,CAC7B,OAAML,EAAsBI,CAAE,EAGvBF,EAAcE,EAAGC,CAAO,EAFvBJ,EAAkB,GAAI,CAG/B,CAKAF,EAAO,QAAUI,ICbjB,IAAIG,EAAc,QAAS,uDAAwD,EAC/EC,EAAO,IACPC,EAAU,IAKdF,EAAaC,EAAM,UAAWC,CAAQ,EAKtC,OAAO,QAAUD",
|
|
6
|
+
"names": ["require_main", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "gammaLogPDF", "logpdf", "x", "k", "lambda", "require_factory", "__commonJSMin", "exports", "module", "isNonNegativeInteger", "constantFunction", "factoryGamma", "factory", "k", "lambda", "setReadOnly", "main", "factory"]
|
|
7
|
+
}
|
package/docs/types/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
// MODULES //
|
|
38
38
|
|
|
39
39
|
var setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );
|
|
40
|
-
var
|
|
40
|
+
var main = require( './main.js' );
|
|
41
41
|
var factory = require( './factory.js' );
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
// MAIN //
|
|
45
45
|
|
|
46
|
-
setReadOnly(
|
|
46
|
+
setReadOnly( main, 'factory', factory );
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
// EXPORTS //
|
|
50
50
|
|
|
51
|
-
module.exports =
|
|
51
|
+
module.exports = main;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stdlib/stats-base-dists-erlang-logpdf",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Natural logarithm of the probability density function (PDF) for an Erlang distribution.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -37,24 +37,25 @@
|
|
|
37
37
|
"url": "https://github.com/stdlib-js/stdlib/issues"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@stdlib/math-base-assert-is-nonnegative-integer": "^0.0
|
|
41
|
-
"@stdlib/stats-base-dists-gamma-logpdf": "^0.0
|
|
42
|
-
"@stdlib/utils-constant-function": "^0.0
|
|
43
|
-
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.0
|
|
40
|
+
"@stdlib/math-base-assert-is-nonnegative-integer": "^0.2.0",
|
|
41
|
+
"@stdlib/stats-base-dists-gamma-logpdf": "^0.2.0",
|
|
42
|
+
"@stdlib/utils-constant-function": "^0.2.0",
|
|
43
|
+
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.2.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@stdlib/
|
|
47
|
-
"@stdlib/constants-float64-
|
|
48
|
-
"@stdlib/constants-float64-
|
|
49
|
-
"@stdlib/
|
|
50
|
-
"@stdlib/math-base-
|
|
51
|
-
"@stdlib/math-base-special-
|
|
52
|
-
"@stdlib/math-base-special-
|
|
53
|
-
"@stdlib/
|
|
54
|
-
"@stdlib/random-base-randu": "^0.0.x",
|
|
46
|
+
"@stdlib/constants-float64-eps": "^0.2.0",
|
|
47
|
+
"@stdlib/constants-float64-ninf": "^0.2.0",
|
|
48
|
+
"@stdlib/constants-float64-pinf": "^0.2.0",
|
|
49
|
+
"@stdlib/math-base-assert-is-nan": "^0.2.0",
|
|
50
|
+
"@stdlib/math-base-special-abs": "^0.2.0",
|
|
51
|
+
"@stdlib/math-base-special-ceil": "^0.2.0",
|
|
52
|
+
"@stdlib/math-base-special-round": "^0.2.0",
|
|
53
|
+
"@stdlib/random-base-randu": "^0.1.0",
|
|
55
54
|
"tape": "git+https://github.com/kgryte/tape.git#fix/globby",
|
|
56
55
|
"istanbul": "^0.4.1",
|
|
57
|
-
"tap-
|
|
56
|
+
"tap-min": "git+https://github.com/Planeshifter/tap-min.git",
|
|
57
|
+
"@stdlib/bench-harness": "^0.2.0",
|
|
58
|
+
"@stdlib/bench": "^0.3.1"
|
|
58
59
|
},
|
|
59
60
|
"engines": {
|
|
60
61
|
"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,84 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
{{alias}}( x, k, λ )
|
|
3
|
-
Evaluates the natural logarithm of the probability density function (PDF)
|
|
4
|
-
for an Erlang distribution with shape parameter `k` and rate parameter `λ`
|
|
5
|
-
at a value `x`.
|
|
6
|
-
|
|
7
|
-
If provided `NaN` as any argument, the function returns `NaN`.
|
|
8
|
-
|
|
9
|
-
If not provided a nonnegative integer for `k`, the function returns `NaN`.
|
|
10
|
-
|
|
11
|
-
If provided a non-positive value for `λ`, the function returns `NaN`.
|
|
12
|
-
|
|
13
|
-
Parameters
|
|
14
|
-
----------
|
|
15
|
-
x: number
|
|
16
|
-
Input value.
|
|
17
|
-
|
|
18
|
-
k: number
|
|
19
|
-
Shape parameter.
|
|
20
|
-
|
|
21
|
-
λ: number
|
|
22
|
-
Rate parameter.
|
|
23
|
-
|
|
24
|
-
Returns
|
|
25
|
-
-------
|
|
26
|
-
out: number
|
|
27
|
-
Evaluated logPDF.
|
|
28
|
-
|
|
29
|
-
Examples
|
|
30
|
-
--------
|
|
31
|
-
> var y = {{alias}}( 0.1, 1, 1.0 )
|
|
32
|
-
~-0.1
|
|
33
|
-
> y = {{alias}}( 0.5, 2, 2.5 )
|
|
34
|
-
~-0.111
|
|
35
|
-
> y = {{alias}}( -1.0, 4, 2.0 )
|
|
36
|
-
-Infinity
|
|
37
|
-
> y = {{alias}}( NaN, 1, 1.0 )
|
|
38
|
-
NaN
|
|
39
|
-
> y = {{alias}}( 0.0, NaN, 1.0 )
|
|
40
|
-
NaN
|
|
41
|
-
> y = {{alias}}( 0.0, 1, NaN )
|
|
42
|
-
NaN
|
|
43
|
-
> y = {{alias}}( 2.0, -2, 0.5 )
|
|
44
|
-
NaN
|
|
45
|
-
> y = {{alias}}( 2.0, 0.5, 0.5 )
|
|
46
|
-
NaN
|
|
47
|
-
> y = {{alias}}( 2.0, 0.0, 2.0 )
|
|
48
|
-
-Infinity
|
|
49
|
-
> y = {{alias}}( 0.0, 0.0, 2.0 )
|
|
50
|
-
Infinity
|
|
51
|
-
> y = {{alias}}( 2.0, 1, 0.0 )
|
|
52
|
-
NaN
|
|
53
|
-
> y = {{alias}}( 2.0, 1, -1.0 )
|
|
54
|
-
NaN
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{{alias}}.factory( k, λ )
|
|
58
|
-
Returns a function for evaluating the natural logarithm of the probability
|
|
59
|
-
density function (PDF) of an Erlang distribution with shape parameter `k`
|
|
60
|
-
and rate parameter `λ`.
|
|
61
|
-
|
|
62
|
-
Parameters
|
|
63
|
-
----------
|
|
64
|
-
k: number
|
|
65
|
-
Shape parameter.
|
|
66
|
-
|
|
67
|
-
λ: number
|
|
68
|
-
Rate parameter.
|
|
69
|
-
|
|
70
|
-
Returns
|
|
71
|
-
-------
|
|
72
|
-
logpdf: Function
|
|
73
|
-
Logarithm of probability density function (PDF).
|
|
74
|
-
|
|
75
|
-
Examples
|
|
76
|
-
--------
|
|
77
|
-
> var myLogPDF = {{alias}}.factory( 6.0, 7.0 );
|
|
78
|
-
> y = myLogPDF( 7.0 )
|
|
79
|
-
~-32.382
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
See Also
|
|
83
|
-
--------
|
|
84
|
-
|
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
|