neg_idioms.h 584 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <vector>
  3. #include "idiom.h"
  4. #include "icode.h"
  5. #include <deque>
  6. struct Idiom11 : public Idiom
  7. {
  8. protected:
  9. iICODE m_icodes[3];
  10. public:
  11. virtual ~Idiom11() {}
  12. Idiom11(Function *f) : Idiom(f)
  13. {
  14. }
  15. uint8_t minimum_match_length() {return 3;}
  16. bool match(iICODE pIcode);
  17. int action();
  18. };
  19. struct Idiom16 : public Idiom
  20. {
  21. protected:
  22. iICODE m_icodes[3];
  23. public:
  24. virtual ~Idiom16() {}
  25. Idiom16(Function *f) : Idiom(f)
  26. {
  27. }
  28. uint8_t minimum_match_length() {return 3;}
  29. bool match(iICODE pIcode);
  30. int action();
  31. };