PairECompare.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_groebner_PairECompare_h_
#define polybori_groebner_PairECompare_h_
// include basic definitions
#include "groebner_defs.h"
BEGIN_NAMESPACE_PBORIGB
class PairECompare:
public CFactoryBase {
public:
PairECompare(const BoolePolyRing& ring):
CFactoryBase(ring) {}
bool operator() (const PairE& l, const PairE& r){
if (l.sugar!=r.sugar) return l.sugar>r.sugar; //greater sugar, less importance
if (l.wlen!=r.wlen) return l.wlen>r.wlen;
if (l.lm!=r.lm) return parent().ordering().compare(l.lm, r.lm)
== CTypes::greater_than;
return false;
}
};
END_NAMESPACE_PBORIGB
#endif /* polybori_PairECompare_h_ */