PolyBoRi
ChainCriterion.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_groebner_ChainCriterion_h_
17 #define polybori_groebner_ChainCriterion_h_
18 
19 // include basic definitions
20 #include "groebner_defs.h"
21 #include "GroebnerStrategy.h"
22 
24 
31 public:
33  int i,j;
34  ChainCriterion(const GroebnerStrategy& strat, int i, int j){
35  this->strat=&strat;
36  this->i=i;
37  this->j=j;
38  }
39  bool operator() (const Exponent& lmExp){
40  int index=strat->generators.index(lmExp);
41  //we know such an entry exists
42  if ((index!=i)&&(index!=j)){
43  if ((strat->pairs.status.hasTRep(i,index)) && (strat->pairs.status.hasTRep(j,index))){
44 
45  return true;
46  }
47  }
48  return false;
49  }
50 };
51 
53 
54 #endif /* polybori_ChainCriterion_h_ */