( expr: any, expected: number, tolerance = 1e-10 )
| 7 | |
| 8 | // Helper: check numeric approximation within tolerance |
| 9 | function expectApprox( |
| 10 | expr: any, |
| 11 | expected: number, |
| 12 | tolerance = 1e-10 |
| 13 | ) { |
| 14 | const result = expr.N(); |
| 15 | const val = result.re; |
| 16 | if (!isFinite(expected)) { |
| 17 | expect(val).toBe(expected); |
| 18 | } else { |
| 19 | expect(Math.abs(val - expected)).toBeLessThan( |
| 20 | Math.abs(expected) * tolerance + tolerance |
| 21 | ); |
| 22 | } |
| 23 | } |
| 24 | |
| 25 | describe('DIGAMMA FUNCTION', () => { |
| 26 | test('ψ(1) = -γ (Euler-Mascheroni constant)', () => { |
no test coverage detected