(cs: Expression[])
| 391 | const deg = ms.reduce((m, [, d]) => Math.max(m, d), 0); |
| 392 | const coeffs: Expression[] = new Array(deg + 1).fill(ce.Zero); |
| 393 | for (const [c, d] of ms) coeffs[d] = coeffs[d].add(c); |
| 394 | return coeffs.map((c) => c.evaluate()); |
| 395 | } |
| 396 | |
| 397 | /** effective degree after dropping provably-zero leading coefficients */ |
| 398 | function trimZeros(coeffs: Expression[]): Expression[] { |
| 399 | let last = coeffs.length - 1; |
| 400 | while (last > 0 && zeroQ(coeffs[last])) last--; |
| 401 | return coeffs.slice(0, last + 1); |
| 402 | } |
| 403 |
no test coverage detected