1 #ifndef __ARRAY_POLYNOMIALS_H_ 2 #define __ARRAY_POLYNOMIALS_H_ 26 #include "polynomial.hpp" 60 virtual bool fellOff()
const override;
126 const list<Monomial> & mons,
127 const list<Prime_Field_Element> & coeffs,
162 virtual void set_monomial_ordering(
169 virtual void sort_by_order()
override;
171 virtual Monomial & leading_monomial()
const override;
175 virtual unsigned length()
const override;
177 virtual bool is_zero()
const override;
217 uint64_t * serialized(uint64_t & size);
274 virtual bool fellOff()
const override;
284 virtual void set_currMonomial(
const Monomial & t)
override;
The general class of a polynomial.
virtual bool canMoveLeft() const override
Monomial * M
array of monomials, in one-to-one correspondence with A
Constant_Polynomial_Iterator(const Constant_Polynomial *q, bool at_end=false)
Creates an iterator for poly and starts at the leading term.
A Constant_Polynomial is a polynomial that should not change.
virtual void moveRight() override
Moves right in the polynomial, to the next smaller monomial.
virtual bool fellOff() const override
virtual const Monomial & currMonomial() const override
Reports the monomial at the current position.
const Constant_Polynomial * p
the polynomial we iterate on
Prime_Field_Element * A
array of coefficients, in one-to-one correspondence with M
virtual const Prime_Field_Element & currCoeff() const override
Reports the coefficient at the current position.
Constant_Polynomial * p
the polynomial over which we iterate
Implementation of monomials.
Element of a field of prime characteristic.
interface to a monomial ordering
Encapsulates information about a polynomial ring for easy access: ground field, number of indetermina...
virtual bool canMoveRight() const override
Can this iterator move right, or would it fall off?
A Mutable_Polynomial_Iterator allows one to modify the terms of a polynomial.
Iterates through a Constant_Polynomial.
long i
current position in p’s array
Used to iterate through a polynomial.
virtual void restart_iteration() override
This should move the iterator to the leading term.
An iterator to modify monomials and coefficients of a Constant_Polynomial.
virtual void moveLeft() override
Moves left in the polynomial, to the next larger monomial.
long long i
the monomial we currently point to
unsigned m
position after last monomial
unsigned head
location of leading term in array (always farther left)