cuts.hpp 504 B

12345678910111213141516171819202122232425
  1. #ifndef CUT_HPP
  2. #define CUT_HPP
  3. #include "semigroup.hpp"
  4. bool cut(const Semigroup& S);
  5. bool cut_wilf_left_primitives(const Semigroup& S);
  6. inline bool cut(const Semigroup& S){
  7. return false;
  8. // return cut_wilf_left_primitives(S);
  9. // return !is_special(S);
  10. }
  11. inline bool is_special(const Semigroup& S){
  12. ind_t c=S.conductor;
  13. ind_t m=S.min;
  14. ind_t x=c+(m-1)-c%m;
  15. return S.decs[x]==1;
  16. }
  17. inline bool cut_wilf_left_primitives(const Semigroup& S){
  18. return 3*S.left_primitive>=S.min;
  19. }
  20. #endif