(b: any)
| 56 | loadIdentities(ceRF, { solve: true }); |
| 57 | |
| 58 | const realOf = (b: any): number | null => { |
| 59 | try { |
| 60 | const r = b.N(); |
| 61 | const v = typeof r.re === 'number' ? r.re : Number(r.toString()); |
| 62 | if (!isFinite(v)) return null; |
| 63 | const im = typeof r.im === 'number' ? r.im : 0; |
| 64 | return Math.abs(im) > 1e-9 ? null : v; |
| 65 | } catch { |
| 66 | return null; |
| 67 | } |
| 68 | }; |
| 69 | |
| 70 | const covers = (got: number[], ref: number[]) => |
| 71 | ref.every((r) => got.some((g) => Math.abs(g - r) <= 1e-6 * (1 + Math.abs(r)))); |