trim.hpp 305 B

12345678910111213141516171819202122
  1. #ifndef TRIM_HPP
  2. #define TRIM_HPP
  3. static const size_t k=3;
  4. inline bool
  5. trim_wilf1(Semigroup& S){
  6. return k*S.e_left>=S.m;
  7. }
  8. inline bool
  9. trim_wilf2(Semigroup& S){
  10. return (k*S.e)>=S.m+k*(g_max-S.g);
  11. }
  12. inline bool
  13. trim(Semigroup& S){
  14. return S.m==S.c;// or trim_wilf1(S) or trim_wilf2(S);
  15. }
  16. #endif