12 std::string startfilename){
15 std::stringstream tempss;
21 boost::filesystem::path startstring=dir;
22 startstring /=
"step1";
23 startstring /= startfilename;
24 fin.open(startstring.c_str());
27 std::cout <<
"failed to open specified solutions file: " << startstring <<
"\n";
32 std::stringstream converter;
33 tempss << copyme <<
"\n";
36 converter >> numsolutions;
40 tempss << copyme <<
"\n";
55 std::vector< int > & lastnumsent,
60 std::stringstream commandss;
62 std::string lastoutfilename0 = base_dir;
63 lastoutfilename0.append(
"/step2/lastnumsent0");
64 fin.open(lastoutfilename0.c_str());
65 std::vector< int > lastnumsent0;
66 lastnumsent0.push_back(0);
67 int tmpint, smallest = 0;
70 for (
int ii=1; ii<numprocs; ++ii) {
77 lastnumsent0.push_back(tmpint);
87 std::string lastoutfilename1 = base_dir;
88 lastoutfilename1.append(
"/step2/lastnumsent1");
89 fin.open(lastoutfilename1.c_str());
90 std::vector< int > lastnumsent1;
91 lastnumsent1.push_back(0);
94 for (
int ii=1; ii<numprocs; ++ii) {
101 lastnumsent1.push_back(tmpint);
111 int vectortosave = -1;
112 if ( (
int(lastnumsent1.size())<numprocs) && int(lastnumsent0.size())<numprocs ) {
116 else if (
int(lastnumsent0.size())<numprocs){
119 else if (
int(lastnumsent1.size())<numprocs){
123 for (
int ii=1; ii<numprocs; ++ii) {
124 if (lastnumsent0[ii]<lastnumsent1[ii]) {
128 else if (lastnumsent1[ii]<lastnumsent0[ii]){
136 lastnumsent.push_back(0);
137 if (vectortosave==0) {
138 smallest = lastnumsent0[0];
139 for (
int ii=1; ii<numprocs; ++ii) {
140 lastnumsent.push_back(lastnumsent0[ii]);
141 if (lastnumsent0[ii] < smallest) {
142 smallest = lastnumsent0[ii];
147 else if (vectortosave==1){
148 smallest = lastnumsent1[0];
149 for (
int ii=1; ii<numprocs; ++ii) {
150 lastnumsent.push_back(lastnumsent1[ii]);
151 if (lastnumsent1[ii] < smallest) {
152 smallest = lastnumsent1[ii];
168 boost::filesystem::path mcfname = base_dir;
171 std::ifstream fin(mcfname.c_str());
174 std::cerr <<
"failed to open mc file to get line count" << std::endl;
179 std::getline(fin,tmpstr);
180 std::stringstream converter;
183 converter >> terminationint;
187 return terminationint;
int GetLastNumSent(std::string base_dir, std::vector< int > &lastnumsent, int numprocs)
int GetMcNumLines(boost::filesystem::path base_dir, int numparam)
int GetStart(boost::filesystem::path dir, std::string &start, std::string startfilename)