LessCombinedManySizesInStrat.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_groebner_LessCombinedManySizesInStrat_h_
#define polybori_groebner_LessCombinedManySizesInStrat_h_
// include basic definitions
#include "groebner_defs.h"
BEGIN_NAMESPACE_PBORIGB
class LessCombinedManySizesInStrat{
public:
const GroebnerStrategy* strat;
LessCombinedManySizesInStrat(GroebnerStrategy& strat){
this->strat=&strat;
}
bool operator() (const Monomial& a , const Monomial& b) const {
return operator()(strat->generators[a], strat->generators[b]);
}
private:
bool operator() (const PolyEntry& entry1, const PolyEntry& entry2) const {
deg_type d1 = entry1.tailVariables.deg();
deg_type d2 = entry2.tailVariables.deg();
wlen_type w1 = d1;
wlen_type w2 = d2;
w1 *= entry1.length;
w1 *= entry1.ecart();
w2 *= entry2.length;
w2 *= entry2.ecart();
return w1 < w2;
}
};
END_NAMESPACE_PBORIGB
#endif /* polybori_LessCombinedManySizesInStrat_h_ */
polybori::groebner::PolyEntry::ecart
deg_type ecart() const
Definition: PolyEntry.h:54
END_NAMESPACE_PBORIGB
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
polybori::groebner::deg_type
int deg_type
Definition: groebner_defs.h:42
polybori::groebner::PolyEntryBase::tailVariables
Exponent tailVariables
Definition: PolyEntryBase.h:63
BEGIN_NAMESPACE_PBORIGB
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
polybori::groebner::PolyEntry
This class defines PolyEntry.
Definition: PolyEntry.h:32
polybori::groebner::GroebnerStrategy::generators
ReductionStrategy generators
Definition: GroebnerStrategy.h:204
polybori::groebner::LessCombinedManySizesInStrat::strat
const GroebnerStrategy * strat
Definition: LessCombinedManySizesInStrat.h:30
groebner_defs.h
polybori::groebner::GroebnerStrategy
This class defines GroebnerStrategy.
Definition: GroebnerStrategy.h:41
polybori::groebner::wlen_type
long wlen_type
Definition: groebner_defs.h:39
polybori::groebner::LessCombinedManySizesInStrat
This class defines LessCombinedManySizesInStrat.
Definition: LessCombinedManySizesInStrat.h:28
polybori::groebner::LessCombinedManySizesInStrat::LessCombinedManySizesInStrat
LessCombinedManySizesInStrat(GroebnerStrategy &strat)
Definition: LessCombinedManySizesInStrat.h:31
polybori::groebner::PolyEntryBase::length
len_type length
Definition: PolyEntryBase.h:57
polybori::BooleMonomial
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
polybori::BooleExponent::deg
deg_type deg() const
Degree of the corresponding monomial.
Definition: BooleExponent.h:118