PolyBoRi
LessCombinedManySizesInStrat.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_groebner_LessCombinedManySizesInStrat_h_
17 #define polybori_groebner_LessCombinedManySizesInStrat_h_
18 
19 // include basic definitions
20 #include "groebner_defs.h"
21 
23 
29 public:
32  this->strat=&strat;
33  }
34 
35  bool operator() (const Monomial& a , const Monomial& b) const {
36  return operator()(strat->generators[a], strat->generators[b]);
37  }
38 
39 private:
40  bool operator() (const PolyEntry& entry1, const PolyEntry& entry2) const {
41  deg_type d1 = entry1.tailVariables.deg();
42  deg_type d2 = entry2.tailVariables.deg();
43  wlen_type w1 = d1;
44  wlen_type w2 = d2;
45  w1 *= entry1.length;
46  w1 *= entry1.ecart();
47  w2 *= entry2.length;
48  w2 *= entry2.ecart();
49  return w1 < w2;
50  }
51 };
52 
54 
55 #endif /* polybori_LessCombinedManySizesInStrat_h_ */