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_ */
This class is just a wrapper for using variables for storing indices as interim data structure for Bo...
Definition: BooleExponent.h:34
size_type index(const KeyType &key) const
Retrieve index associated to key.
Definition: PolyEntryVector.h:99
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
This class defines ChainCriterion.
Definition: ChainCriterion.h:29
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
PairStatusSet status
Definition: PairManager.h:75
ReductionStrategy generators
Definition: GroebnerStrategy.h:204
const GroebnerStrategy * strat
Definition: ChainCriterion.h:32
This class defines GroebnerStrategy.
Definition: GroebnerStrategy.h:41
bool hasTRep(int ia, int ja) const
Definition: PairStatusSet.h:33
PairManagerWithStrategy< strategy_type > pairs
For compatibility reasons make this a public member.
Definition: PairManagerFacade.h:95
ChainCriterion(const GroebnerStrategy &strat, int i, int j)
Definition: ChainCriterion.h:34
int j
Definition: ChainCriterion.h:33