44template <
typename ordinal_type,
typename value_type>
50template <
typename ordinal_type,
typename value_type>
62template <
typename ordinal_type,
typename value_type>
66 const value_type&
val)
73template <
typename ordinal_type,
typename value_type>
77 const value_type&
val)
84template <
typename ordinal_type,
typename value_type>
88 const value_type&
val)
95template <
typename ordinal_type,
typename value_type>
99 const value_type&
val)
106template <
typename ordinal_type,
typename value_type>
118template <
typename ordinal_type,
typename value_type>
130template <
typename ordinal_type,
typename value_type>
142template <
typename ordinal_type,
typename value_type>
153template <
typename ordinal_type,
typename value_type>
165template <
typename ordinal_type,
typename value_type>
177template <
typename ordinal_type,
typename value_type>
189template <
typename ordinal_type,
typename value_type>
201template <
typename ordinal_type,
typename value_type>
213template <
typename ordinal_type,
typename value_type>
225template <
typename ordinal_type,
typename value_type>
237template <
typename ordinal_type,
typename value_type>
249template <
typename ordinal_type,
typename value_type>
261template <
typename ordinal_type,
typename value_type>
273template <
typename ordinal_type,
typename value_type>
285template <
typename ordinal_type,
typename value_type>
297template <
typename ordinal_type,
typename value_type>
305 c[0] = std::exp(a[0]);
308template <
typename ordinal_type,
typename value_type>
316 c[0] = std::log(a[0]);
319template <
typename ordinal_type,
typename value_type>
327 c[0] = std::log10(a[0]);
330template <
typename ordinal_type,
typename value_type>
338 c[0] = std::sqrt(a[0]);
341template <
typename ordinal_type,
typename value_type>
349 c[0] = std::cbrt(a[0]);
352template <
typename ordinal_type,
typename value_type>
361 c[0] = std::pow(a[0], b[0]);
364template <
typename ordinal_type,
typename value_type>
373 c[0] = std::pow(a, b[0]);
376template <
typename ordinal_type,
typename value_type>
385 c[0] = std::pow(a[0], b);
388template <
typename ordinal_type,
typename value_type>
396 s[0] = std::sin(a[0]);
399template <
typename ordinal_type,
typename value_type>
407 c[0] = std::cos(a[0]);
410template <
typename ordinal_type,
typename value_type>
418 t[0] = std::tan(a[0]);
421template <
typename ordinal_type,
typename value_type>
429 s[0] = std::sinh(a[0]);
432template <
typename ordinal_type,
typename value_type>
440 c[0] = std::cosh(a[0]);
443template <
typename ordinal_type,
typename value_type>
451 t[0] = std::tanh(a[0]);
454template <
typename ordinal_type,
typename value_type>
462 c[0] = std::acos(a[0]);
465template <
typename ordinal_type,
typename value_type>
473 c[0] = std::asin(a[0]);
476template <
typename ordinal_type,
typename value_type>
484 c[0] = std::atan(a[0]);
487template <
typename ordinal_type,
typename value_type>
496 c[0] = std::atan2(a[0], b[0]);
499template <
typename ordinal_type,
typename value_type>
508 c[0] = std::atan2(a, b[0]);
511template <
typename ordinal_type,
typename value_type>
518 c[0] = std::atan2(a[0], b);
521template <
typename ordinal_type,
typename value_type>
529 c[0] = std::log(a[0]+std::sqrt(a[0]*a[0]-value_type(1.0)));
532template <
typename ordinal_type,
typename value_type>
540 c[0] = std::log(a[0]+std::sqrt(a[0]*a[0]+value_type(1.0)));
543template <
typename ordinal_type,
typename value_type>
551 c[0] = 0.5*std::log((value_type(1.0)+a[0])/(value_type(1.0)-a[0]));
554template <
typename ordinal_type,
typename value_type>
562 c[0] = std::fabs(a[0]);
565template <
typename ordinal_type,
typename value_type>
573 c[0] = std::fabs(a[0]);
576template <
typename ordinal_type,
typename value_type>
585 c[0] = std::max(a[0], b[0]);
588template <
typename ordinal_type,
typename value_type>
597 c[0] = std::max(a, b[0]);
600template <
typename ordinal_type,
typename value_type>
609 c[0] = std::max(a[0], b);
612template <
typename ordinal_type,
typename value_type>
621 c[0] = std::min(a[0], b[0]);
624template <
typename ordinal_type,
typename value_type>
633 c[0] = std::min(a, b[0]);
636template <
typename ordinal_type,
typename value_type>
645 c[0] = std::min(a[0], b);
ConstantOrthogPolyExpansion()
Constructor.
void cosh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void times(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void log10(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void acosh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void asin(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void max(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void abs(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void minusEqual(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
void min(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void sinh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void plus(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void atan(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void atanh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void pow(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void fabs(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void tan(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void acos(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void plusEqual(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
void exp(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void cos(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void unaryMinus(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void sin(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void divideEqual(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
void tanh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void asinh(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void divide(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void timesEqual(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const value_type &x)
void log(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void sqrt(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
void atan2(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void minus(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a, const OrthogPolyApprox< ordinal_type, value_type, node_type > &b)
void cbrt(OrthogPolyApprox< ordinal_type, value_type, node_type > &c, const OrthogPolyApprox< ordinal_type, value_type, node_type > &a)
Class to store coefficients of a projection onto an orthogonal polynomial basis.
void resize(ordinal_type sz)
Resize coefficient array (coefficients are preserved)
ordinal_type size() const
Return size.