5 #include "../UnivariatePolynomial.h"
13 template<
typename Coeff>
19 for (std::size_t j = 0; j < p.
coefficients().size()-i; j++) {
35 template<
typename Coeff>
45 for (std::size_t i = p.
coefficients().size()-1; i > 0; i--) {
Implements utility functions concerning the (total) degree of monomials, terms and polynomials.
carl is the main namespace for the library.
bool is_zero(const Interval< Number > &i)
Check if this interval is a point-interval containing 0.
bool evaluate(const BasicConstraint< Poly > &c, const Assignment< Number > &m)
bool is_root_of(const UnivariatePolynomial< Coeff > &p, const Coeff &value)
typename UnderlyingNumberType< P >::type Coeff
void eliminate_root(UnivariatePolynomial< Coeff > &p, const Coeff &root)
Reduces the polynomial such that the given root is not a root anymore.
void eliminate_zero_root(UnivariatePolynomial< Coeff > &p)
Reduces the given polynomial such that zero is not a root anymore.
This class represents a univariate polynomial with coefficients of an arbitrary type.
const std::vector< Coefficient > & coefficients() const &
Retrieves the coefficients defining this polynomial.
bool is_consistent() const
Asserts that this polynomial over numeric coefficients complies with the requirements and assumptions...