* Endpoint product using the interval convention `0 · ±∞ = 0`. * * A plain `0 * Infinity` is `NaN`, which would poison `Math.min`/`Math.max` * and collapse the whole interval to `NaN` — e.g. `[0, 1] · [1, ∞)` or an * ordinary expression like `x · ln(x)` evaluated on `[0, 1]`. In interval * arit
(x: number, y: number)
| 79 | * arithmetic an exact zero endpoint annihilates an infinite one. |
| 80 | */ |
| 81 | function _prod(x: number, y: number): number { |
| 82 | if (x === 0 || y === 0) return 0; |
| 83 | return x * y; |
| 84 | } |
| 85 | |
| 86 | /** |
| 87 | * Multiply two intervals (or IntervalResults). |