(num: bigint, den: bigint)
| 21 | } |
| 22 | |
| 23 | function reduce(num: bigint, den: bigint): [bigint, bigint] { |
| 24 | if (den < 0n) { |
| 25 | num = -num; |
| 26 | den = -den; |
| 27 | } |
| 28 | const g = gcd(num, den); |
| 29 | return g === 0n ? [0n, 1n] : [num / g, den / g]; |
| 30 | } |
| 31 | |
| 32 | function factorial(n: number): bigint { |
| 33 | let f = 1n; |
no test coverage detected