00001 // -*- c++ -*- 00002 //***************************************************************************** 00014 //***************************************************************************** 00015 00016 #ifndef polybori_groebner_IsEcart0Predicate_h_ 00017 #define polybori_groebner_IsEcart0Predicate_h_ 00018 00019 // include basic definitions 00020 #include "groebner_defs.h" 00021 #include "ReductionStrategy.h" 00022 00023 BEGIN_NAMESPACE_PBORIGB 00024 00029 class IsEcart0Predicate{ 00030 public: 00031 IsEcart0Predicate(const ReductionStrategy& strat){ 00032 this->strat=&strat; 00033 } 00034 bool operator() (const Exponent& e){ 00035 return (*strat)[e].ecart()==0; 00036 } 00037 00038 00039 private: 00040 const ReductionStrategy* strat; 00041 }; 00042 00043 END_NAMESPACE_PBORIGB 00044 00045 #endif /* polybori_IsEcart0Predicate_h_ */