30 #include <gsl/gsl_sf_pow_int.h> 
   34 namespace polynomial {
 
   44     polynomialSum_m(polynomialSum.polynomialSum_m) {
 
   63     for (std::size_t i = 0; i < pSize; i++) {
 
   65         for (std::size_t j = 0; j < N; j++) {
 
   66             std::vector<std::size_t> tempdS =
 
   71                 tempdS[j] = tempdS[j] - 1;
 
   72                 if ((j + 1) == N) tempdS.push_back(0);
 
   73                 tempdS[j + 1] = tempdS[j + 1] + 1;
 
  112     std::vector<TwoPolynomial> newPoly;
 
  114     newPoly.insert(newPoly.end(),
 
  117     newPoly.insert(newPoly.end(),
 
  124                                         const std::size_t &p)
 const {
 
  126         std::vector<std::size_t> dummy;
 
  160                     const std::vector<double> &dSvalues,
 
  161                     std::vector<std::vector<double>> &finalPolynomial)
 const {
 
  162     finalPolynomial.resize(1);
 
  163     finalPolynomial[0].resize(1, 0.0);
 
  164     std::size_t nx = 0, ns = 0;
 
  169         double dSfactoreval = 1.0;
 
  170         for (std::size_t q = 0;
 
  173             dSfactoreval *= gsl_sf_pow_int(dSvalues[q + 1],
 
  178             for (std::size_t k = nx + 1;
 
  181                 finalPolynomial[nx].resize(ns + 1, 0.0);
 
  187             for (std::size_t k = 0; k <= nx; k++) {
 
  188                 finalPolynomial[k].resize(ns + 1, 0.0);
 
  191         for (std::size_t i = 0;
 
  194             for (std::size_t j = 0;
 
  198                                                .coefficients_m[i][j] 
 
  208                       const std::vector<double> &dSvalues)
 const {
 
  209     std::vector<std::vector<double>> coefficients;
 
  212     std::size_t i = coefficients.size();
 
  215         std::size_t j = coefficients[0].size();
 
  219             temp = temp * s + coefficients[i][j];
 
  221         result = result * x + temp;
 
PolynomialSum & operator=(const PolynomialSum &sum)
std::vector< std::size_t > getdSfactors(const std::size_t &p) const 
T::PETE_Expr_t::PETE_Return_t sum(const PETE_Expr< T > &expr)
void multiplyPolynomial(const TwoPolynomial &poly)
double evaluatePolynomial2(const double &x, const double &s, const std::vector< double > &dSvalues) const 
bool isPolynomialZero(const std::size_t &p) const 
void putSumTogether(const std::vector< double > &dSvalues, std::vector< std::vector< double >> &finalPolynomial) const 
void addPolynomial(const PolynomialSum &poly)
void truncate(const std::size_t &truncateOrder)
std::vector< TwoPolynomial > polynomialSum_m
void printPolynomial() const