( ce: ComputeEngine, e: Expression, x: string )
| 2533 | * Chapter-4 dispatch rules). */ |
| 2534 | function hasInertTrig(e: Expression): boolean { |
| 2535 | if (TO_ACTIVE[e.operator] !== undefined) return true; |
| 2536 | return e.ops?.some(hasInertTrig) ?? false; |
| 2537 | } |
| 2538 | |
| 2539 | // Inverse functions (CE names: inverse trig `Arcsin…`, inverse hyperbolic |
| 2540 | // `Arsinh…`, logarithms) + calculus heads. `InverseFunctionFreeQ[u, x]` is |
| 2541 | // True when none of these appear with `x` inside — a guard Rubi uses to keep |
| 2542 | // reduction rules from firing on already-integrated-looking subexpressions. |
| 2543 | const INVERSE_FNS = new Set([ |
| 2544 | 'Arcsin', |
| 2545 | 'Arccos', |
| 2546 | 'Arctan', |
| 2547 | 'Arccot', |
| 2548 | 'Arcsec', |
| 2549 | 'Arccsc', |
| 2550 | 'Arsinh', |
| 2551 | 'Arcosh', |
| 2552 | 'Artanh', |
| 2553 | 'Arcoth', |
no test coverage detected