46 std::map<
char, Node<
char > * > *nodes;
49 for (
auto const& [repr, node] : *nodes){
103 std::cout <<
"{\n \"index\": \"";
108 else if(i==0) std::cout <<
"\\\\xff";
118 else if(
this->matrixIndex[i]==
'\\') std::cout <<
" \"\\\\\": [";
119 else if(
this->matrixIndex[i]==0) std::cout <<
" \"\\\\x00\": [";
120 else if(
this->matrixIndex[i]<0) std::cout <<
" \"\\\\xff\": [";
123 if(
this->edgeMatrix[i][j]==
'"') std::cout <<
"\"\\\"\"";
124 else if(
this->edgeMatrix[i][j]==
'\\') std::cout <<
"\"\\\\\"";
125 else if(
this->edgeMatrix[i][j]==0) std::cout <<
"\"\\\\x00\"";
126 else if(
this->edgeMatrix[i][j]<0) std::cout <<
"\"\\\\xff\"";
128 else std::cout <<
"\"" <<
this->edgeMatrix[i][j] <<
"\"";
135 std::cout <<
"\" weightmap\": {\n";
138 else if(
this->matrixIndex[i]==
'\\') std::cout <<
" \"\\\\\": [";
139 else if(
this->matrixIndex[i]==0) std::cout <<
" \"\\\\x00\": [";
140 else if(
this->matrixIndex[i]<0) std::cout <<
" \"\\\\xff\": [";
149 std::cout <<
" }\n}\n";
158 char *res =
new char[(maxLen+2)*n];
164 long int bufferctr = 0;
165 for (
int i = 0; i < n; i++) {
180 if (len >= maxLen)
break;
181 else if ((next < 0) && (len < minLen))
continue;
182 else if (next < 0)
break;
184 res[bufferctr + len++] = cur;
186 res[bufferctr + len++] =
'\n';
210 int numberOfPartitions = n/50000000ull;
211 for(
int i=0;i<numberOfPartitions;i++)
218 std::ofstream wordlist;
220 wordlist.open(wordlistFileName);
227 int iterationsPerThread = n/threads;
228 int iterationsPerThreadCarryOver = n%threads;
230 std::vector<std::thread*> threadsV;
233 for(
int i=0;i<threads;i++){
240 for(
int i=0;i<threads;i++){