16 #include <unordered_map>
21 template<
class Compare>
52 template<
template <
class>
class Datastructure,
class Configuration>
66 void push( std::list<SPolPair> pairs )
68 if( pairs.empty( ) )
return;
This file has been extracted from mathic.
carl is the main namespace for the library.
CriticalPairs< Heap, CriticalPairConfiguration< GrLexOrdering > > CritPairs
signed compare(const BasicConstraint< Pol > &_constraintA, const BasicConstraint< Pol > &_constraintB)
Compares _constraintA with _constraintB.
static const bool fastIndex
static bool cmpEqual(CompareResult res)
static CompareResult compare(Entry e1, Entry e2)
static const bool supportDeduplicationWhileOrdering
static bool cmpLessThan(CompareResult res)
A data structure to store all the SPolynomial pairs which have to be checked.
void push(std::list< SPolPair > pairs)
Add a list of s-pairs to the list.
SPolPair pop()
Gets the first SPol from the data structure and removes it from the data structure.
void print() const
Print the underlying data structure.
bool empty() const
Checks whether there are any pairs in the data structure.
void elimMultiples(const Monomial::Arg &lm, const std::unordered_map< size_t, SPolPair > &newpairs)
Eliminate multiples of the given monomial.
unsigned size() const
Checks the size of the data structure.
Datastructure< Configuration > mDatastruct
A list of SPol pairs which have to be checked by the Buchberger algorithm.
const Monomial::Arg & getSortedFirstLCM() const
Get the LCM of the first element.
std::shared_ptr< const Monomial > Arg