LessWeightedLengthInStrat.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_groebner_LessWeightedLengthInStrat_h_
#define polybori_groebner_LessWeightedLengthInStrat_h_
// include basic definitions
#include "ReductionStrategy.h"
#include "groebner_defs.h"
BEGIN_NAMESPACE_PBORIGB
class LessWeightedLengthInStrat{
public:
const ReductionStrategy* strat;
LessWeightedLengthInStrat(const ReductionStrategy& strat){
this->strat=&strat;
}
bool operator() (const Monomial& a , const Monomial& b){
return (*strat)[a].weightedLength<(*strat)[b].weightedLength;
}
bool operator() (const Exponent& a , const Exponent& b){
return (*strat)[a].weightedLength<(*strat)[b].weightedLength;
}
};
END_NAMESPACE_PBORIGB
#endif /* polybori_LessWeightedLengthInStrat_h_ */