1 #include "rheolef/compiler.h"
22 #include "rheolef/gamma.h"
23 #include "rheolef/jacobi.h"
24 #include "rheolef/jacobi_roots.h"
27 template <
class Size,
class OutputIterator1,
class OutputIterator2>
30 typename std::iterator_traits<OutputIterator1>::value_type
alpha,
31 typename std::iterator_traits<OutputIterator1>::value_type
beta,
32 OutputIterator1 zeta, OutputIterator2 omega)
34 typedef typename std::iterator_traits<OutputIterator1>::value_type
T;
37 for (Size k = 1; k <= size_t(static_cast<int>(
beta)); k++)
38 num *= (
T(1.*R)+
T(1.*k))/(
alpha+
T(1.*R)+
T(1.*k));
44 for (Size r = 0; r < R; r++)
45 omega[r] = num/((1-sqr(zeta[r]))*sqr(P(zeta[r])));
Float alpha[pmax+1][pmax+1]
This file is part of Rheolef.
space_mult_list< T, M > pow(const space_basic< T, M > &X, size_t n)
void jacobi_roots(Size R, T alpha, T beta, OutputIterator zeta)
void gauss_jacobi(Size R, typename std::iterator_traits< OutputIterator1 >::value_type alpha, typename std::iterator_traits< OutputIterator1 >::value_type beta, OutputIterator1 zeta, OutputIterator2 omega)