39 static const char* staticGetName() {
40 return Pred::staticGetName();
53 static const char* staticGetName() {
return "random";}
62 static const char* staticGetName() {
return "tdeg";}
76 static const char* staticGetName() {
return "median";}
86 static const char* staticGetName() {
return "posMedian";}
97 static const char* staticGetName() {
return "minPos";}
108 static const char* staticGetName() {
return "max";}
118 static const char* staticGetName() {
return "support";}
129 static const char* staticGetName() {
return "strongGenericity";}
142 for (cit
a = ideal.
begin();
a != ideal.
end(); ++
a) {
143 for (cit
b =
a + 1;
b != ideal.
end(); ++
b) {
173 return _degeneracy[
a] < _degeneracy[
b];
177 UnGenMap& _degeneracy;
183 static const char* staticGetName() {
return "null";}
189 class WeakGenericityOrderer :
public StrongGenericityOrderer {
191 static const char* staticGetName() {
return "weakGenericity";}
193 virtual void doOrder(
Ideal& ideal)
const {
210 _orderer->order(ideal);
218 CompositeOrderer(): _orderersDeleter(_orderers) {}
226 typedef Container::const_reverse_iterator rev_cit;
232 rev_cit
rbegin(_orderers.end());
233 rev_cit
rend(_orderers.begin());
263 if (prefix.substr(0, 3) ==
"rev") {
273 if (prefix.find(
'_') == string::npos)
void exceptionSafePushBack(Container &container, auto_ptr< Element > pointer)
auto_ptr< IdealOrderer > createIdealOrderer(const string &prefix)
auto_ptr< AbstractProduct > createWithPrefix(const NameFactory< AbstractProduct > &factory, const string &prefix)
Creates the unique product that has the indicated prefix, or create the actual product that has name ...
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
virtual void doOrder(Ideal &ideal) const =0
Represents a monomial ideal with int exponents.
Cont::const_iterator const_iterator
bool strictlyContains(const Exponent *term) const
const_iterator end() const
const_iterator begin() const
size_t getVarCount() const
A NameFactory takes a name and then creates an instance of a class that has been previously registere...
size_t getVarCount() const
virtual bool doPredicate(const Exponent *a, const Exponent *b) const =0
Term represents a product of variables which does not include a coefficient.
size_t getSizeOfSupport() const
static bool sharesNonZeroExponent(const Exponent *a, const Exponent *b, size_t varCount)
Returns whether there is some such that .