26 #ifndef F4_CRITICAL_PAIR_H
27 #define F4_CRITICAL_PAIR_H
43 template <
typename Element>
196 template <
typename Element>
197 std::ostream & operator<<(std::ostream & stream, CriticalPair<Element>
const & criticalPair);
204 template <
typename Element>
212 template <
typename Element>
220 template <
typename Element>
228 template <
typename Element>
229 bool operator<(CriticalPair<Element>
const & criticalPair1,
CriticalPair<Element> const & criticalPair2);
236 template <
typename Element>
237 bool operator<=(CriticalPair<Element>
const & criticalPair1,
CriticalPair<Element> const & criticalPair2);
241 #include "../src/critical-pair.inl"
244 #endif // F4_CRITICAL_PAIR_H
bool operator>=(CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2)
Overload the operator >=.
bool setCriticalPair(int p1, int p2)
Modify an already created critical pair.
Represent a tagged polynomial.
~CriticalPair()
Destructor.
Monomial const & getLcm() const
Get _lcm.
int getDegree() const
Get the degree of this.
static int getSizeTaggedPolynomialArray()
Get the size of the array pointed by TAGGEG_POLYNOMIAL_ARRAY.
void printCriticalPair(std::ostream &stream=std::cout) const
Print the critical pair.
static void setTaggedPolynomialArray(vector< TaggedPolynomial< Element >> *taggedPolynomialArray)
Set the array of tagged polynomial to use.
Represent a critical pair.
Wrapper for config.h in order to avoid multiple definitions.
static std::vector< TaggedPolynomial< Element > > * TAGGEG_POLYNOMIAL_ARRAY
Represent a array of monomials.
Declaration of class TaggedPolynomial.
CriticalPair()
Constructor.
static TaggedPolynomial< Element > const & getTaggedPolynomialArray(int numTaggedPolynomial)
Get a tagged polynomial from the array of tagged polynomial.
CriticalPair & operator=(CriticalPair const &criticalPair)
Overload the operator =.
Monomial const & getU1() const
Get the number of the monomial u1.
int compareCriticalPair(CriticalPair const &criticalPair) const
Compare this with criticalPair.
bool operator>(CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2)
Overload the operator >.
static void setMonomialArray(MonomialArray *monomialArray)
Set the monomial array to use.
int getP1() const
Get the index of the first tagged polynomial.
bool operator==(CriticalPair< Element > const &criticalPair1, CriticalPair< Element > const &criticalPair2)
Overload the operator ==.
int getP2() const
Get the index of the second tagged polynomial.
static MonomialArray * MONOMIAL_ARRAY
Monomial const & getU2() const
Get the number of the monomial u2.