00001 // -*- c++ -*- 00002 //***************************************************************************** 00014 //***************************************************************************** 00015 00016 #ifndef polybori_groebner_ShorterEliminationLength_h_ 00017 #define polybori_groebner_ShorterEliminationLength_h_ 00018 00019 // include basic definitions 00020 #include "groebner_defs.h" 00021 #include "GroebnerStrategy.h" 00022 00023 BEGIN_NAMESPACE_PBORIGB 00024 00029 class ShorterEliminationLength{ 00030 public: 00031 const GroebnerStrategy* strat; 00032 wlen_type el; 00033 ShorterEliminationLength(const GroebnerStrategy& strat,wlen_type el){ 00034 this->el=el; 00035 this->strat=&strat; 00036 } 00037 bool operator() (const Exponent& e){ 00038 return (strat->generators[e].weightedLength<=el); 00039 } 00040 }; 00041 00042 END_NAMESPACE_PBORIGB 00043 00044 #endif /* polybori_ShorterEliminationLength_h_ */