Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstddef>
7 :
8 : /// \cond
9 : class DataVector;
10 : class Matrix;
11 : namespace Spectral {
12 : enum class Quadrature : uint8_t;
13 : } // namespace Spectral
14 : /// \endcond
15 :
16 : namespace Spectral {
17 :
18 : /*!
19 : * \ingroup SpectralGroup
20 : *
21 : * \brief A collection of helper functions for Jacobi polyomials
22 : *
23 : */
24 1 : class Jacobi {
25 : public:
26 : /*!
27 : * \brief Value of the basis function \f$\Phi^k(x) = P^(\alpha,\beta)_k(x)\f$,
28 : * implemented from \cite Fornberg1996
29 : */
30 : template <typename T>
31 1 : static T basis_function_value(double alpha, double beta, size_t k,
32 : const T& x);
33 : };
34 : } // namespace Spectral
|