3 #include "../MultivariatePolynomial.h"
4 #include "../UnivariatePolynomial.h"
56 template<
typename Coeff>
82 template<
typename Coeff>
91 template<
typename Coeff>
101 template<
typename Coeff>
113 template<
typename Coeff,
typename Ordering,
typename Policies>
116 assert(p.
size() != 0);
117 if (Ordering::degreeOrder) {
137 template<
typename Coeff,
typename Ordering,
typename Policies>
145 template<
typename Coeff,
typename Ordering,
typename Policies>
148 if (Ordering::degreeOrder) {
151 return std::all_of(p.
begin(), p.
end(),
152 [](
const auto& t){ return is_linear(t); }
163 template<
typename Coeff>
170 for (std::size_t deg = 0; deg < p.
coefficients().size(); deg++) {
173 if (tdeg > max) max = tdeg;
202 template<
typename Coeff>
207 template<
typename Coeff>
#define CARL_LOG_NOTIMPLEMENTED()
carl is the main namespace for the library.
bool is_constant(const ContextPolynomial< Coeff, Ordering, Policies > &p)
bool is_at_most_linear(const Monomial &m)
Checks whether the monomial has at most degree one.
bool is_zero(const Interval< Number > &i)
Check if this interval is a point-interval containing 0.
bool is_linear(const ContextPolynomial< Coeff, Ordering, Policies > &p)
auto total_degree(const Monomial &m)
Gives the total degree, i.e.
This class represents a univariate polynomial with coefficients of an arbitrary type.
bool is_linear_in_main_var() const
const std::vector< Coefficient > & coefficients() const &
Retrieves the coefficients defining this polynomial.
uint degree() const
Get the maximal exponent of the main variable.
The general-purpose multivariate polynomial class.
const Term< Coeff > & lterm() const
The leading term.
std::size_t nr_terms() const
Calculate the number of terms.
States if a type is a number type.
The general-purpose monomials.
exponent tdeg() const
Gives the total degree, i.e.
Monomial::Arg & monomial()
Get the monomial.