+/***********************************************************************/
+
+void RareDisplay::inputTempFiles(string filename){
+ try {
+ ifstream in;
+ m->openInputFile(filename, in);
+
+ int thisIters, size;
+ in >> thisIters >> size; m->gobble(in);
+ nIters += thisIters;
+
+ for (int i = 0; i < size; i++) {
+ int tempCount;
+ in >> tempCount; m->gobble(in);
+ map<int, vector<double> >::iterator it = results.find(tempCount);
+ if (it != results.end()) {
+ for (int j = 0; j < thisIters; j++) {
+ double value;
+ in >> value; m->gobble(in);
+ (it->second).push_back(value);
+ }
+ }else {
+ vector<double> tempValues;
+ for (int j = 0; j < thisIters; j++) {
+ double value;
+ in >> value; m->gobble(in);
+ tempValues.push_back(value);
+ }
+ results[tempCount] = tempValues;
+ }
+ }
+
+ in.close();
+ }
+ catch(exception& e) {
+ m->errorOut(e, "RareDisplay", "inputTempFiles");
+ exit(1);
+ }
+}
+
+/***********************************************************************/
+
+void RareDisplay::outputTempFiles(string filename){
+ try {
+ ofstream out;
+ m->openOutputFile(filename, out);
+
+ out << nIters-1 << '\t' << results.size() << endl;
+
+ for (map<int, vector<double> >::iterator it = results.begin(); it != results.end(); it++) {
+ out << it->first << '\t';
+ for(int i = 0; i < (it->second).size(); i++) {
+ out << (it->second)[i] << '\t';
+ }
+ out << endl;
+ }
+
+ out.close();
+ }
+ catch(exception& e) {
+ m->errorOut(e, "RareDisplay", "outputTempFiles");
+ exit(1);
+ }
+}
+