-rw-r--r-- 980 cryptattacktester-20230614/selection.cpp raw
#include "selection.h" using namespace std; map<string,string> selection_parse(char **x,bigint n) { map<string,string> result; for (;n > 0;++x,--n) { string s(*x); while (s.size() > 0) { string snext; bigint comma = s.find_first_of(","); if (comma != string::npos) { snext = s.substr(comma+1); s = s.substr(0,comma); } bigint eq = s.find_first_of("="); if (eq != string::npos) { string left = s.substr(0,eq); string right = s.substr(eq+1); result[left] = right; } s = snext; } } return result; } bool selection_allows(const map<string,string> &S,std::string left,std::string right) { if (S.count(left) == 0) return 1; return S.at(left) == right; } void selection_constrain(const std::map<std::string,std::string> &S,std::string left,bigint &leftmin,bigint &leftmax) { if (S.count(left) == 0) return; bigint i(S.at(left)); leftmin = i; leftmax = i; }