45 template <
typename FloatType>
46 static FloatType
cosh (FloatType x) noexcept
49 auto numerator = -(39251520 + x2 * (18471600 + x2 * (1075032 + 14615 * x2)));
50 auto denominator = -39251520 + x2 * (1154160 + x2 * (-16632 + 127 * x2));
51 return numerator / denominator;
60 template <
typename FloatType>
61 static void cosh (FloatType* values,
size_t numValues) noexcept
63 for (
size_t i = 0; i < numValues; ++i)
73 template <
typename FloatType>
74 static FloatType
sinh (FloatType x) noexcept
77 auto numerator = -x * (11511339840 + x2 * (1640635920 + x2 * (52785432 + x2 * 479249)));
78 auto denominator = -11511339840 + x2 * (277920720 + x2 * (-3177720 + x2 * 18361));
79 return numerator / denominator;
88 template <
typename FloatType>
89 static void sinh (FloatType* values,
size_t numValues) noexcept
91 for (
size_t i = 0; i < numValues; ++i)
101 template <
typename FloatType>
102 static FloatType
tanh (FloatType x) noexcept
105 auto numerator = x * (135135 + x2 * (17325 + x2 * (378 + x2)));
106 auto denominator = 135135 + x2 * (62370 + x2 * (3150 + 28 * x2));
107 return numerator / denominator;
116 template <
typename FloatType>
117 static void tanh (FloatType* values,
size_t numValues) noexcept
119 for (
size_t i = 0; i < numValues; ++i)
130 template <
typename FloatType>
131 static FloatType
cos (FloatType x) noexcept
134 auto numerator = -(-39251520 + x2 * (18471600 + x2 * (-1075032 + 14615 * x2)));
135 auto denominator = 39251520 + x2 * (1154160 + x2 * (16632 + x2 * 127));
136 return numerator / denominator;
145 template <
typename FloatType>
146 static void cos (FloatType* values,
size_t numValues) noexcept
148 for (
size_t i = 0; i < numValues; ++i)
158 template <
typename FloatType>
159 static FloatType
sin (FloatType x) noexcept
162 auto numerator = -x * (-11511339840 + x2 * (1640635920 + x2 * (-52785432 + x2 * 479249)));
163 auto denominator = 11511339840 + x2 * (277920720 + x2 * (3177720 + x2 * 18361));
164 return numerator / denominator;
173 template <
typename FloatType>
174 static void sin (FloatType* values,
size_t numValues) noexcept
176 for (
size_t i = 0; i < numValues; ++i)
186 template <
typename FloatType>
187 static FloatType
tan (FloatType x) noexcept
190 auto numerator = x * (-135135 + x2 * (17325 + x2 * (-378 + x2)));
191 auto denominator = -135135 + x2 * (62370 + x2 * (-3150 + 28 * x2));
192 return numerator / denominator;
201 template <
typename FloatType>
202 static void tan (FloatType* values,
size_t numValues) noexcept
204 for (
size_t i = 0; i < numValues; ++i)
215 template <
typename FloatType>
216 static FloatType
exp (FloatType x) noexcept
218 auto numerator = 1680 + x * (840 + x * (180 + x * (20 + x)));
219 auto denominator = 1680 + x *(-840 + x * (180 + x * (-20 + x)));
220 return numerator / denominator;
229 template <
typename FloatType>
230 static void exp (FloatType* values,
size_t numValues) noexcept
232 for (
size_t i = 0; i < numValues; ++i)
242 template <
typename FloatType>
245 auto numerator = x * (7560 + x * (15120 + x * (9870 + x * (2310 + x * 137))));
246 auto denominator = 7560 + x * (18900 + x * (16800 + x * (6300 + x * (900 + 30 * x))));
247 return numerator / denominator;
256 template <
typename FloatType>
257 static void logNPlusOne (FloatType* values,
size_t numValues) noexcept
259 for (
size_t i = 0; i < numValues; ++i)
static void cos(FloatType *values, size_t numValues) noexcept
static FloatType tanh(FloatType x) noexcept
static void tanh(FloatType *values, size_t numValues) noexcept
static FloatType sinh(FloatType x) noexcept
static FloatType sin(FloatType x) noexcept
static FloatType logNPlusOne(FloatType x) noexcept
static void sin(FloatType *values, size_t numValues) noexcept
static FloatType exp(FloatType x) noexcept
static void logNPlusOne(FloatType *values, size_t numValues) noexcept
static FloatType cos(FloatType x) noexcept
static FloatType tan(FloatType x) noexcept
static void cosh(FloatType *values, size_t numValues) noexcept
static void sinh(FloatType *values, size_t numValues) noexcept
static void exp(FloatType *values, size_t numValues) noexcept
static FloatType cosh(FloatType x) noexcept
static void tan(FloatType *values, size_t numValues) noexcept