3 #include "../MultivariatePolynomial.h" 
    4 #include "../UnivariatePolynomial.h" 
   21         newExps.emplace_back(it.first, 
uint(it.second * 
exp));
 
   22         expsum += newExps.back().second;
 
   27     if (m == 
nullptr) 
return nullptr;
 
   31 template<
typename Coeff>
 
   40 template<
typename C, 
typename O, 
typename P>
 
   46     if (
exp == 2) 
return p*p;
 
   56 template<
typename C, 
typename O, 
typename P>
 
   64     for (std::size_t i = 1; i < 
exp; i++) {
 
   76 template<
typename Coeff>
 
   83         if ((
exp & 1) != 0) res *= mult;
 
   85         if(
exp > 0) mult = mult * mult;
 
#define CARL_LOG_INEFFICIENT()
carl is the main namespace for the library.
Monomial::Arg createMonomial(T &&... t)
Interval< Number > exp(const Interval< Number > &i)
bool is_zero(const Interval< Number > &i)
Check if this interval is a point-interval containing 0.
MultivariatePolynomial< C, O, P > pow_naive(const MultivariatePolynomial< C, O, P > &p, std::size_t exp)
Interval< Number > pow(const Interval< Number > &i, Integer exp)
This class represents a univariate polynomial with coefficients of an arbitrary type.
Variable main_var() const
Retrieves the main variable of this polynomial.
The general-purpose multivariate polynomial class.
The general-purpose monomials.
std::shared_ptr< const Monomial > Arg
std::vector< std::pair< Variable, std::size_t > > Content
const Content & exponents() const
Coefficient & coeff()
Get the coefficient.
Monomial::Arg & monomial()
Get the monomial.