results.hpp 671 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef RESULTS_HPP
  2. #define RESULTS_HPP
  3. #include <iostream>
  4. #include "semigroup.hpp"
  5. using namespace std;
  6. class Results{
  7. public:
  8. size_t n1[MAX_GENUS+1];
  9. size_t n2[MAX_GENUS+1];
  10. bool has_counter_example;
  11. Semigroup S_counter_example;
  12. void clear();
  13. void add(const Results& res);
  14. };
  15. inline
  16. void Results::clear(){
  17. has_counter_example=false;
  18. for(size_t g=0;g<=MAX_GENUS;++g){
  19. n1[g]=0;n2[g]=0;
  20. }
  21. }
  22. inline
  23. void Results::add(const Results& res){
  24. if((not has_counter_example) and res.has_counter_example){
  25. S_counter_example=res.S_counter_example;
  26. }
  27. for(size_t g=0;g<=MAX_GENUS;++g){
  28. n1[g]+=res.n1[g];
  29. n2[g]+=res.n2[g];
  30. }
  31. }
  32. #endif