@lakuna/umath 1.1.1 → 1.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/dist/algorithms/factorial.d.ts.map +1 -1
- package/dist/algorithms/factorial.js +5 -1
- package/dist/algorithms/factorial.js.map +1 -1
- package/dist/algorithms/hypergeometricPmf.d.ts +2 -0
- package/dist/algorithms/hypergeometricPmf.d.ts.map +1 -0
- package/dist/algorithms/hypergeometricPmf.js +5 -0
- package/dist/algorithms/hypergeometricPmf.js.map +1 -0
- package/dist/algorithms/summation.d.ts.map +1 -1
- package/dist/algorithms/summation.js +5 -4
- package/dist/algorithms/summation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/algorithms/factorial.ts +5 -1
- package/src/algorithms/hypergeometricPmf.ts +14 -0
- package/src/algorithms/summation.ts +7 -13
- package/src/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factorial.d.ts","sourceRoot":"","sources":["../../src/algorithms/factorial.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"factorial.d.ts","sourceRoot":"","sources":["../../src/algorithms/factorial.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factorial.js","sourceRoot":"","sources":["../../src/algorithms/factorial.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAS;IAC1C,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"factorial.js","sourceRoot":"","sources":["../../src/algorithms/factorial.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAS;IAC1C,OAAO,CAAC,GAAG,CAAC;QACX,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC;YACP,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hypergeometricPmf.d.ts","sourceRoot":"","sources":["../../src/algorithms/hypergeometricPmf.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hypergeometricPmf.js","sourceRoot":"","sources":["../../src/algorithms/hypergeometricPmf.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAWpD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAChF,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summation.d.ts","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"summation.d.ts","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAQ/F"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
function summationInternal(i, max, term) {
|
|
2
|
-
return term(i) + (i < max ? summationInternal(i + 1, max, term) : 0);
|
|
3
|
-
}
|
|
4
1
|
export default function summation(min, max, term) {
|
|
5
|
-
|
|
2
|
+
let out = 0;
|
|
3
|
+
for (let i = min; i <= max; i++) {
|
|
4
|
+
out += term(i);
|
|
5
|
+
}
|
|
6
|
+
return out;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=summation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summation.js","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAQA,SAAS,
|
|
1
|
+
{"version":3,"file":"summation.js","sourceRoot":"","sources":["../../src/algorithms/summation.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,IAA2B;IAEtF,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;KACf;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as degreesToRadians } from "#algorithms/degreesToRadians";
|
|
|
3
3
|
export { default as factorial } from "#algorithms/factorial";
|
|
4
4
|
export { default as fibonacci } from "#algorithms/fibonacci";
|
|
5
5
|
export { default as greatestCommonDivisor } from "#algorithms/greatestCommonDivisor";
|
|
6
|
+
export { default as hypergeometricPmf } from "#algorithms/hypergeometricPmf";
|
|
6
7
|
export { default as isPrime } from "#algorithms/isPrime";
|
|
7
8
|
export { default as permutations } from "#algorithms/permutations";
|
|
8
9
|
export { default as primeFactorization } from "#algorithms/primeFactorization";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,kBAAkB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,kBAAkB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { default as degreesToRadians } from "#algorithms/degreesToRadians";
|
|
|
3
3
|
export { default as factorial } from "#algorithms/factorial";
|
|
4
4
|
export { default as fibonacci } from "#algorithms/fibonacci";
|
|
5
5
|
export { default as greatestCommonDivisor } from "#algorithms/greatestCommonDivisor";
|
|
6
|
+
export { default as hypergeometricPmf } from "#algorithms/hypergeometricPmf";
|
|
6
7
|
export { default as isPrime } from "#algorithms/isPrime";
|
|
7
8
|
export { default as permutations } from "#algorithms/permutations";
|
|
8
9
|
export { default as primeFactorization } from "#algorithms/primeFactorization";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAA2B,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE5F,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAuB,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAA2B,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE5F,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAuB,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAoB,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,5 +5,9 @@
|
|
|
5
5
|
* @see [Factorial](https://en.wikipedia.org/wiki/Factorial)
|
|
6
6
|
*/
|
|
7
7
|
export default function factorial(n: number): number {
|
|
8
|
-
return n
|
|
8
|
+
return n < 0
|
|
9
|
+
? Infinity * (n % 2 ? 1 : -1) // Division by zero returns `Infinity` in JavaScript.
|
|
10
|
+
: n == 0
|
|
11
|
+
? 1
|
|
12
|
+
: n * factorial(n - 1);
|
|
9
13
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import combinations from "#algorithms/combinations";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The probability mass function for the hypergeometric distribution.
|
|
5
|
+
* @param N The size of the finite population.
|
|
6
|
+
* @param K The number of objects with the desired feature in the finite population.
|
|
7
|
+
* @param n The number of draws without replacement.
|
|
8
|
+
* @param k The desired number of successes.
|
|
9
|
+
* @see [Hypergeometric distribution](https://en.wikipedia.org/wiki/Hypergeometric_distribution)
|
|
10
|
+
* @see [Probability mass function](https://en.wikipedia.org/wiki/Probability_mass_function)
|
|
11
|
+
*/
|
|
12
|
+
export default function hypergeometricPmf(N: number, K: number, n: number, k: number): number {
|
|
13
|
+
return (combinations(K, k) * combinations(N - K, n - k)) / combinations(N, n);
|
|
14
|
+
}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Recursively sums up the results of the given function.
|
|
3
|
-
* @param i The index of summation.
|
|
4
|
-
* @param max The upper bound of the index of summation.
|
|
5
|
-
* @param term The function used to generate each term.
|
|
6
|
-
* @returns The sum.
|
|
7
|
-
* @see [Summation](https://en.wikipedia.org/wiki/Summation)
|
|
8
|
-
*/
|
|
9
|
-
function summationInternal(i: number, max: number, term: (i: number) => number): number {
|
|
10
|
-
return term(i) + (i < max ? summationInternal(i + 1, max, term) : 0);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
1
|
/**
|
|
14
2
|
* Performs a summation.
|
|
15
3
|
* @param min The lower bound (inclusive) of the index of summation.
|
|
@@ -19,5 +7,11 @@ function summationInternal(i: number, max: number, term: (i: number) => number):
|
|
|
19
7
|
* @see [Summation](https://en.wikipedia.org/wiki/Summation)
|
|
20
8
|
*/
|
|
21
9
|
export default function summation(min: number, max: number, term: (i: number) => number): number {
|
|
22
|
-
|
|
10
|
+
// Not recursive to avoid exceeding the maximum call stack size.
|
|
11
|
+
let out = 0;
|
|
12
|
+
for (let i = min; i <= max; i++) {
|
|
13
|
+
out += term(i);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return out;
|
|
23
17
|
}
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as degreesToRadians } from "#algorithms/degreesToRadians";
|
|
|
3
3
|
export { default as factorial } from "#algorithms/factorial";
|
|
4
4
|
export { default as fibonacci } from "#algorithms/fibonacci";
|
|
5
5
|
export { default as greatestCommonDivisor } from "#algorithms/greatestCommonDivisor";
|
|
6
|
+
export { default as hypergeometricPmf } from "#algorithms/hypergeometricPmf";
|
|
6
7
|
export { default as isPrime } from "#algorithms/isPrime";
|
|
7
8
|
export { default as permutations } from "#algorithms/permutations";
|
|
8
9
|
export { default as primeFactorization } from "#algorithms/primeFactorization";
|