26 #ifndef OPENF4_POLYNOMIAL_H
27 #define OPENF4_POLYNOMIAL_H
46 template <
typename Element>
123 Element
getLC()
const;
233 template <
typename Element>
234 std::ostream & operator<<(std::ostream & stream, Polynomial<Element>
const & polynomial);
242 template <
typename Element>
251 template <
typename Element>
260 template <
typename Element>
269 template <
typename Element>
278 template <
typename Element>
287 template <
typename Element>
292 #include "../src/polynomial.inl"
295 #endif // OPENF4_POLYNOMIAL_H
Element getCoefficient(int numMon) const
Get the coefficient of the term of monomial numMon.
void printPolynomial(std::ostream &stream) const
Print the polynomial.
NodeList< Element > * emplaceOn(NodeList< Element > *pos, Element coeff, int numMon)
Add a term after pos. Beware to keep a correct order.
int getNbTerm() const
Get the number of terms of this.
Polynomial & operator*=(Monomial const &monomial)
Overload the operator *= to multiply this with a monomial. Prefer multNumMon(int numMon) if the monom...
bool isEmpty()
Test if the polynomial is empty or not.
Declaration of class SingleList.
Represent a single chained list.
NodeList< Element > const * getPolynomialBeginConst() const
Get a constant iterator on the beginning of the polynomial.
void normalize()
Normalize this.
NodeList< Element > * emplaceAfter(NodeList< Element > *pos, Element coeff, int numMon)
Add a term after pos. Beware to keep a correct order.
Wrapper for config.h in order to avoid multiple definitions.
SingleList< Element > _polynomial
NodeList< Element > * getPolynomialBegin()
Get an iterator on the beginning of the polynomial.
void deleteLT()
Delete the leading term of this.
Term< Element > operator*(Monomial const &mon, Term< Element > const &term)
Overload the operator *.
void clear()
Delete all the terms.
int getLM() const
Get the number of the leading monomial of this.
void deleteAfter(NodeList< Element > *it)
Erase all the term from it to the end of the polynomial.
NodeList< Element > * getPolynomialBeforeBegin()
Get an iterator before the beginning of the polynomial.
const Term< Element > & getLT() const
Get the leading term of this.
Element getLC() const
Get the leading coefficient of this.
Represent a node of the single chained list.
Polynomial & operator=(Polynomial const &polynomial)
Overload the operator =.