PolyBoRi
ShorterEliminationLengthModified.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_groebner_ShorterEliminationLengthModified_h_
17 #define polybori_groebner_ShorterEliminationLengthModified_h_
18 
19 // include basic definitions
20 #include "groebner_defs.h"
21 #include "GroebnerStrategy.h"
22 
24 
30  public:
35  this->el=el;
36  this->strat=&strat;
37  this->lm_deg=lm_deg;
38 
39  }
40  bool operator() (const Exponent& e){
41 
42  PBORI_ASSERT(e.deg()<=lm_deg);
43 
44  const PolyEntry* p=&strat->generators[e];
45  return p->weightedLength<=el+(lm_deg-p->leadDeg)*p->length;
46  }
47 };
48 
50 
51 #endif /* polybori_ShorterEliminationLengthModified_h_ */
This class is just a wrapper for using variables for storing indices as interim data structure for Bo...
Definition: BooleExponent.h:34
const GroebnerStrategy * strat
Definition: ShorterEliminationLengthModified.h:31
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
int deg_type
Definition: groebner_defs.h:42
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
This class defines PolyEntry.
Definition: PolyEntry.h:32
ReductionStrategy generators
Definition: GroebnerStrategy.h:204
This class defines GroebnerStrategy.
Definition: GroebnerStrategy.h:41
#define PBORI_ASSERT(arg)
Definition: pbori_defs.h:118
long wlen_type
Definition: groebner_defs.h:39
ShorterEliminationLengthModified(const GroebnerStrategy &strat, wlen_type el, deg_type lm_deg)
Definition: ShorterEliminationLengthModified.h:34
This class defines ShorterEliminationLengthModified.
Definition: ShorterEliminationLengthModified.h:29
wlen_type el
Definition: ShorterEliminationLengthModified.h:32
deg_type lm_deg
Definition: ShorterEliminationLengthModified.h:33
deg_type deg() const
Degree of the corresponding monomial.
Definition: BooleExponent.h:118