#include #include "config.hpp" #include "../dist/server.hpp" #include "gtask.hpp" #include "treewalk.hpp" #include #include using namespace std; void init_parallelize(list& forest,Results& res){ Semigroup O; init_full_N(O); for(size_t g=0;g(O); ind_t pos=0; it.move_next(); Semigroup Onext=remove_generator(O,it.get_gen(),pos++); while(it.move_next()){ Semigroup son=remove_generator(O,it.get_gen(),pos++); if(not cut(son)){ treat(son,res); auto it2=generator_iter(son); ind_t pos2=0; while(it2.move_next()){ forest.push_back(remove_generator(son,it2.get_gen(),pos2++)); } } } O=Onext; } } if(not cut(O)) treat(O,res); } int main(int argc,char** argv){ Results res; res.clear(); list forest; init_parallelize(forest,res); // Set tasks size_t nb_tasks=forest.size(); Task* tasks=new Task[nb_tasks]; size_t ind=0; for(auto it=forest.begin();it!=forest.end();++it){ GTaskInput input; input.S=*it; tasks[ind].set_input((char*)&input,sizeof(input)); tasks[ind].set_statut(Task::Unaffected); ++ind; } int l=1; int sockfd = socket(AF_INET, SOCK_STREAM, 0); if(sockfd<0){ cerr<<"[Error] Can not open socket"<