41 std::vector< std::vector<int> > qt =
getQIndex(n);
42 std::vector<double> g;
44 for (
size_t i = 0; i < qt.size(); ++i) {
46 for (
size_t j = 1; j < qt[i].size(); ++j) {
47 if (j > g.size()) g.push_back(
gN(x, j-1));
48 ei *= gsl_sf_pow_int(g[j-1], qt[i][j]);
93 _q.push_back(std::vector< std::vector<int> >(1, std::vector<int>(3)) );
99 for (
size_t i =
_q.size(); i < n+1; ++i) {
100 _q.push_back(std::vector< std::vector<int> >() );
101 for (
size_t j = 0; j <
_q[i-1].size(); ++j) {
102 size_t k_max =
_q[i-1][j].size();
103 std::vector<int> new_vec(
_q[i-1][j]);
105 new_vec[0] *= new_vec[1];
108 _q[i].push_back(new_vec);
109 for (
size_t k = 2; k < k_max; ++k) {
111 if (
_q[i-1][j][k] > 0) {
112 std::vector<int> new_vec(
_q[i-1][j]);
113 if ( k == k_max-1 ) new_vec.push_back(0);
114 new_vec[0] *= new_vec[k];
117 _q[i].push_back(new_vec);
123 if (
_h.size() == 0) {
125 _h.push_back(std::vector< std::vector<int> >());
127 _h.push_back(std::vector< std::vector<int> >());
128 _h[1].push_back(std::vector<int>(2, 1));
130 for (
size_t i =
_h.size(); i < n+1; ++i) {
131 _h.push_back(std::vector< std::vector<int> >());
132 for (
size_t j = 0; j <
_h[i-1].size(); ++j) {
135 std::vector<int> new_vec(
_h[i-1][j]);
137 _h[i].push_back(new_vec);
138 for (
size_t k = 1; k <
_h[i-1][j].size(); ++k) {
139 if (
_h[i-1][j][k] > 0) {
140 std::vector<int> new_vec(
_h[i-1][j]);
141 if (k ==
_h[i-1][j].size()-1) new_vec.push_back(0);
142 new_vec[0] *= new_vec[k];
145 _h[i].push_back(new_vec);