1 #ifndef CLASSIC_LinearMath_HH
2 #define CLASSIC_LinearMath_HH
33 template <
class T,
int N>
37 template <
class T,
int N>
41 template <
class T,
int N>
45 template <
class T,
int N>
49 template <
class T,
int N>
53 template <
class T,
int N>
57 template <
class T,
int N>
61 template <
class T,
int N>
65 template <
class T,
int N>
69 template <
class T,
int N>
73 template <
class T,
int N>
77 template <
class T,
int N>
81 template <
class T,
int N>
88 template <
class T,
int N>
93 for(
int i = 1; i <= N; ++i) z[i] = fac * x[i];
98 template <
class T,
int N>
101 if(aZero <= 0.0)
throw DomainError(
"sqrt(const LinearFun &)");
103 series[0] =
sqrt(aZero);
104 series[1] = series[0] / (2.0 * aZero);
109 template <
class T,
int N>
113 series[0] =
sin(aZero);
114 series[1] =
cos(aZero);
119 template <
class T,
int N>
123 series[0] =
cos(aZero);
124 series[1] = -
sin(aZero);
129 template <
class T,
int N>
135 template <
class T,
int N>
137 return cos(x).inverse();
141 template <
class T,
int N>
143 return sin(x).inverse();
147 template <
class T,
int N>
151 series[0] = series[1] =
exp(aZero);
156 template <
class T,
int N>
159 if(aZero <= 0)
throw DomainError(
"log(const LinearFun &)");
162 series[0] =
log(aZero);
163 series[1] =
T(1) / aZero;
168 template <
class T,
int N>
172 series[0] =
sinh(aZero);
173 series[1] =
cosh(aZero);
178 template <
class T,
int N>
182 series[0] =
cosh(aZero);
183 series[1] =
sinh(aZero);
188 template <
class T,
int N>
193 #endif // CLASSIC_LinearMath_HH
LinearFun taylor(const T series[2]) const
Taylor series.
Tps< T > sin(const Tps< T > &x)
Sine.
Tps< T > exp(const Tps< T > &x)
Exponential.
Tps< T > tan(const Tps< T > &x)
Tangent.
Tps< T > cot(const Tps< T > &x)
Cotangent.
Tps< T > sec(const Tps< T > &x)
Secant.
Tps< T > log(const Tps< T > &x)
Natural logarithm.
Tps< T > cosh(const Tps< T > &x)
Hyperbolic cosine.
Tps< T > csc(const Tps< T > &x)
Cosecant.
Tps< T > pow(const Tps< T > &x, int y)
Integer power.
Tps< T > sqrt(const Tps< T > &x)
Square root.
Tps< T > cos(const Tps< T > &x)
Cosine.
Linear function in N variables of type T.
Tps< T > tanh(const Tps< T > &x)
Hyperbolic tangent.
Tps< T > sinh(const Tps< T > &x)
Hyperbolic sine.