This documentation is for the unreleased development version of jOOQ. Click on the above version links to get this documentation for a supported version of jOOQ.
Hyperbolic functions
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
Some dialects may not support all hyperbolic functions, or they are derived from other, much more complex maths expressions.
Using Settings.transformPatternsHyperbolicFunctions
, the following transformations can be achieved:
-- With Settings.transformPatternsTrigonometricFunctions active, this: SELECT (EXP(x) - EXP(-x)) / 2 (EXP(2 * x) - 1) / (2 * EXP(x)) (1 - EXP(-2 * x)) / (2 * EXP(-x)) (EXP(x) + EXP(-x)) / 2 (EXP(2 * x) + 1) / (2 * EXP(x)) (1 + EXP(-2 * x)) / (2 * EXP(-x)) SINH(x) / COSH(x) 1 / COTH(x) (EXP(x) - EXP(-x)) / (EXP(x) + EXP(-x)) (EXP(2 * x) - 1) / (EXP(2 * x) + 1) COSH(x) / SINH(x) 1 / TANH(x) (EXP(x) + EXP(-x)) / (EXP(x) - EXP(-x)) (EXP(2 * x) + 1) / (EXP(2 * x) - 1) FROM tab; -- ... is transformed into the equivalent expression: SELECT SINH(x), -- (EXP(x) - EXP(-x)) / 2, SINH(x), -- (EXP(2 * x) - 1) / (2 * EXP(x)), SINH(x), -- (1 - EXP(-2 * x)) / (2 * EXP(-x)), COSH(x), -- (EXP(x) + EXP(-x)) / 2, COSH(x), -- (EXP(2 * x) + 1) / (2 * EXP(x)), COSH(x), -- (1 + EXP(-2 * x)) / (2 * EXP(-x)), TANH(x), -- SINH(x) / COSH(x), TANH(x), -- 1 / COTH(x), TANH(x), -- (EXP(x) - EXP(-x)) / (EXP(x) + EXP(-x)), TANH(x), -- (EXP(2 * x) - 1) / (EXP(2 * x) + 1), COTH(x), -- COSH(x) / SINH(x), COTH(x), -- 1 / TANH(x), COTH(x), -- (EXP(x) + EXP(-x)) / (EXP(x) - EXP(-x)), COTH(x) -- (EXP(2 * x) + 1) / (EXP(2 * x) - 1) FROM tab;
These transformations in particular may not appear to be complete, as many other intermediary steps may be required to achieve the above documented starting expressions. More work might be implemented in the future.
Feedback
Do you have any feedback about this page? We'd love to hear it!