Files
SnowLuma/.pnpm-store/v11/files/e7/1b10010ed54ec1685e63e719969a3bb07984adbb78562013db26d52fdb6569886a8725b81a8e5dd08b90ecc33e1edfe33ffa2f0643d67a3728178e73eaf48d
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

36 lines
705 B
Plaintext

const LOG10 = Math.log(10)
const LOG2 = Math.log(2)
export default {
// binomial coefficients
// src: http://blog.plover.com/math/choose.html
nCk(n: number, k: number) {
let count = n
if (k > count) {
return 0
}
if (k === 0) {
return 1
}
let coEff = 1
for (let i = 1; i <= k; i += 1) {
coEff *= count
coEff /= i
count -= 1
}
return coEff
},
log10(n: number) {
if (n === 0) return 0
return Math.log(n) / LOG10 // IE doesn't support Math.log10 :(
},
log2(n: number) {
return Math.log(n) / LOG2
},
factorial(num: number) {
let rval = 1
for (let i = 2; i <= num; i += 1) rval *= i
return rval
},
}