( u: Expression, x: string, ce: ComputeEngine, free: boolean )
| 3566 | // FunctionOfExponential family (IntegrationUtilityFunctions.m): recognize when |
| 3567 | // an integrand u is a function of a single F^v (F constant, v linear in x) and |
| 3568 | // rewrite F^v → x, for the master exponential-substitution rule 2.3#97: |
| 3569 | // Int[u] = v/D[v,x] · Subst[Int[FunctionOfExponentialFunction[u]/x, x], x, v] |
| 3570 | // Rubi threads fluid $base$/$expon$/$exponFlag$; here the state is explicit. |
| 3571 | // Hyperbolic heads count as exponentials (Sinh[w] ≡ (E^w−E^−w)/2), so the same |
| 3572 | // machinery serves the Chapter-6 active-hyperbolic integrands. |
| 3573 | // --------------------------------------------------------------------------- |
| 3574 | |
| 3575 | const HYPERBOLIC_HEADS = new Set([ |
| 3576 | 'Sinh', |
| 3577 | 'Cosh', |
| 3578 | 'Tanh', |
| 3579 | 'Coth', |
| 3580 | 'Sech', |
| 3581 | 'Csch', |
| 3582 | ]); |
| 3583 | |
| 3584 | /** Does u contain a hyperbolic function head anywhere in its tree? Used by the |
no test coverage detected