`x_i = base[i] + Σ_j coef[i][j]·params[j]`.
(sol: LinearSolution, params: bigint[])
| 81 | |
| 82 | /** `x_i = base[i] + Σ_j coef[i][j]·params[j]`. */ |
| 83 | function substitute(sol: LinearSolution, params: bigint[]): bigint[] { |
| 84 | return sol.base.map((b, i) => { |
| 85 | let v = b; |
| 86 | for (let j = 0; j < sol.nParams; j++) v += sol.coef[i][j] * params[j]; |
| 87 | return v; |
| 88 | }); |
| 89 | } |
| 90 | |
| 91 | /** All `k`-tuples with every coordinate ranging over `[lo, hi]`. */ |
| 92 | function cartesianRange(k: number, lo: bigint, hi: bigint): bigint[][] { |
no test coverage detected