OPENF4
Library for Gröebner basis computations over finite fields.
|
Represent a tagged polynomial. More...
#include <tagged-polynomial.h>
Public Member Functions | |
TaggedPolynomial () | |
Constructor. | |
TaggedPolynomial (Polynomial< Element > const &polynomial) | |
Constructor. More... | |
TaggedPolynomial (TaggedPolynomial const &taggedPolynomial) | |
Copy Constructor. More... | |
TaggedPolynomial (TaggedPolynomial &&taggedPolynomial) | |
Move Constructor. More... | |
Polynomial< Element > const & | getPolynomialConst () const |
Get the polynomial of this. More... | |
Polynomial< Element > & | getPolynomial () |
Get the polynomial of this. More... | |
void | setPolynomial (Polynomial< Element > &&polynomial) |
Set the polynomial of this, but do not modify the simplyrules. More... | |
const Term< Element > & | getLT () const |
Get the leading term of this. More... | |
int | getLM () const |
Get the number of the leading monomial of this. More... | |
Element | getLC () const |
Get the leading coefficient of this. More... | |
int | getNbTerm () const |
Get the number of terms of this. More... | |
int | getSimplyrule (int index) const |
Get _simplyrules[i]. More... | |
void | setSimplyrule (int index, int numPol) |
Set _simplyrules[i]. More... | |
NodeList< Element > * | getPolynomialBegin () |
Get an iterator on the beginning of the polynomial. More... | |
NodeList< Element > const * | getPolynomialBeginConst () const |
Get a constant iterator on the beginning of the polynomial. More... | |
void | printTaggedPolynomial (std::ostream &stream) const |
Print the polynomial and the _simplyrules of this. | |
int | compareTaggedPolynomial (TaggedPolynomial const &taggedPolynomial) const |
Compare this with taggedPolynomial. More... | |
bool | isEmpty () |
Test if the polynomial is empty or not. More... | |
void | resetSimplyrules () |
Reset the simplyrules of this. | |
void | setTaggedPolynomial (TaggedPolynomial const &taggedPolynomial, uint8_t const *varlist) |
Set this = taggedPolynomial * monomial. Do not modify the simplyrules. More... | |
TaggedPolynomial & | operator= (TaggedPolynomial const &taggedPolynomial) |
Overload the operator =. More... | |
TaggedPolynomial & | operator= (TaggedPolynomial &&taggedPolynomial) |
Overload the move operator =. More... | |
TaggedPolynomial & | operator= (Polynomial< Element > const &polynomial) |
Overload the operator =. More... | |
TaggedPolynomial & | operator= (Polynomial< Element > &&polynomial) |
Overload the move operator =. More... | |
TaggedPolynomial & | operator*= (Monomial const &monomial) |
Overload the operator *= to multiply this with a monomial. More... | |
TaggedPolynomial & | operator*= (Element element) |
Overload the operator *= to multiply this with an Element. More... | |
TaggedPolynomial & | operator*= (Term< Element > const &term) |
Overload the operator *= to multiply this with a term. More... | |
Static Public Member Functions | |
static void | setMonomialArray (MonomialArray *monomialArray) |
Set the monomial array to use. More... | |
Private Attributes | |
Polynomial< Element > | _polynomial |
int * | _simplyrules |
Static Private Attributes | |
static MonomialArray * | MONOMIAL_ARRAY |
Represent a tagged polynomial.
Definition at line 44 of file tagged-polynomial.h.
F4::TaggedPolynomial< Element >::TaggedPolynomial | ( | Polynomial< Element > const & | polynomial | ) |
Constructor.
polynomial | Polynomial. |
F4::TaggedPolynomial< Element >::TaggedPolynomial | ( | TaggedPolynomial< Element > const & | taggedPolynomial | ) |
Copy Constructor.
taggedPolynomial | TaggedPolynomial. |
F4::TaggedPolynomial< Element >::TaggedPolynomial | ( | TaggedPolynomial< Element > && | taggedPolynomial | ) |
Move Constructor.
taggedPolynomial | TaggedPolynomial. |
int F4::TaggedPolynomial< Element >::compareTaggedPolynomial | ( | TaggedPolynomial< Element > const & | taggedPolynomial | ) | const |
Compare this with taggedPolynomial.
taggedPolynomial | TaggedPolynomial. |
Element F4::TaggedPolynomial< Element >::getLC | ( | ) | const |
Get the leading coefficient of this.
int F4::TaggedPolynomial< Element >::getLM | ( | ) | const |
Get the number of the leading monomial of this.
const Term<Element>& F4::TaggedPolynomial< Element >::getLT | ( | ) | const |
Get the leading term of this.
int F4::TaggedPolynomial< Element >::getNbTerm | ( | ) | const |
Get the number of terms of this.
Polynomial<Element>& F4::TaggedPolynomial< Element >::getPolynomial | ( | ) |
Get the polynomial of this.
NodeList<Element>* F4::TaggedPolynomial< Element >::getPolynomialBegin | ( | ) |
Get an iterator on the beginning of the polynomial.
NodeList<Element> const* F4::TaggedPolynomial< Element >::getPolynomialBeginConst | ( | ) | const |
Get a constant iterator on the beginning of the polynomial.
Polynomial<Element> const& F4::TaggedPolynomial< Element >::getPolynomialConst | ( | ) | const |
Get the polynomial of this.
int F4::TaggedPolynomial< Element >::getSimplyrule | ( | int | index | ) | const |
Get _simplyrules[i].
index | Index of a variable in _simplyrules. |
bool F4::TaggedPolynomial< Element >::isEmpty | ( | ) |
Test if the polynomial is empty or not.
TaggedPolynomial& F4::TaggedPolynomial< Element >::operator*= | ( | Monomial const & | monomial | ) |
Overload the operator *= to multiply this with a monomial.
mon | Monomial. |
TaggedPolynomial& F4::TaggedPolynomial< Element >::operator*= | ( | Element | element | ) |
Overload the operator *= to multiply this with an Element.
element | Element. |
TaggedPolynomial& F4::TaggedPolynomial< Element >::operator*= | ( | Term< Element > const & | term | ) |
Overload the operator *= to multiply this with a term.
term | Term. |
TaggedPolynomial& F4::TaggedPolynomial< Element >::operator= | ( | TaggedPolynomial< Element > const & | taggedPolynomial | ) |
Overload the operator =.
taggedPolynomial | Tagged polynomial to copy. |
TaggedPolynomial& F4::TaggedPolynomial< Element >::operator= | ( | TaggedPolynomial< Element > && | taggedPolynomial | ) |
Overload the move operator =.
taggedPolynomial | Tagged polynomial to move. |
TaggedPolynomial& F4::TaggedPolynomial< Element >::operator= | ( | Polynomial< Element > const & | polynomial | ) |
TaggedPolynomial& F4::TaggedPolynomial< Element >::operator= | ( | Polynomial< Element > && | polynomial | ) |
|
static |
Set the monomial array to use.
monomialArray | Address of the array. |
void F4::TaggedPolynomial< Element >::setPolynomial | ( | Polynomial< Element > && | polynomial | ) |
Set the polynomial of this, but do not modify the simplyrules.
Polynomial | to move. |
void F4::TaggedPolynomial< Element >::setSimplyrule | ( | int | index, |
int | numPol | ||
) |
Set _simplyrules[i].
index | Index of a variable in _simplyrules. |
numPol | Index of a tagged polynomial in a tagged polynomial Array. |
void F4::TaggedPolynomial< Element >::setTaggedPolynomial | ( | TaggedPolynomial< Element > const & | taggedPolynomial, |
uint8_t const * | varlist | ||
) |
Set this = taggedPolynomial * monomial. Do not modify the simplyrules.
taggedPolynomial | TaggedPolynomial. |
varlist | Array representing the degree of each variable of the monomial |
|
private |
Definition at line 252 of file tagged-polynomial.h.
|
private |
Array of integer, mainly used by the simplify algorithm. simplifyrules[i] is the index of a tagged polynomial of List.
Definition at line 253 of file tagged-polynomial.h.
|
staticprivate |
Pointer on a monomial array
Definition at line 255 of file tagged-polynomial.h.