SurfInvGaConf.cpp
Go to the documentation of this file.00001 #include <fstream>
00002 #include <algorithm>
00003 #include <CFatalException.h>
00004 #include "SurfInvGaConf.h"
00005 using namespace std;
00006 void SurfInvGaConf::GetData(string filename)
00007 {
00008 ifstream infile;
00009 infile.open(filename.c_str());
00010 infile.peek();
00011 if (!infile)
00012 throw CFatalException("No Configurationfile found !");
00013 GetData(infile);infile.close();
00014 }
00015
00016 void SurfInvGaConf::GetData(std::ifstream &instream)
00017 {
00018 SurfInvGaConfLexer lexer(instream);
00019 SurfInvGaConfParser parser(lexer);
00020 parser.configfile();
00021 verbose= parser.verbose;
00022 usevrefmodel= parser.usevrefmodel;
00023 vrefmodel= parser.vrefmodel;
00024 backgroundmodel= parser.backgroundmodel;
00025 fitexponent= parser.fitexponent;
00026 popsize= parser.popsize;
00027 inittemp= parser.inittemp;
00028 coolingratio= parser.coolingratio;
00029 generations= parser.generations;
00030 mutationprob= parser.mutationprob;
00031 crossoverprob= parser.crossoverprob;
00032 poisson= parser.poisson;
00033 threads= parser.threads;
00034 errorlevel= parser.errorlevel;
00035 gatype= parser.gatype;
00036 outputbase= parser.outputbase;
00037 inputdata= parser.inputdata;
00038 annealinggeneration= parser.annealinggeneration;
00039 elitist= parser.elitist;
00040 thickbase.assign(parser.thickbase.size(),0);
00041 copy(parser.thickbase.begin(),parser.thickbase.end(),thickbase.begin());
00042 thickstep.assign(parser.thickstep.size(),0);
00043 copy(parser.thickstep.begin(),parser.thickstep.end(),thickstep.begin());
00044 thicksizes.assign(parser.thicksizes.size(),0);
00045 copy(parser.thicksizes.begin(),parser.thicksizes.end(),thicksizes.begin());
00046 svelbase.assign(parser.svelbase.size(),0);
00047 copy(parser.svelbase.begin(),parser.svelbase.end(),svelbase.begin());
00048 svelstep.assign(parser.svelstep.size(),0);
00049 copy(parser.svelstep.begin(),parser.svelstep.end(),svelstep.begin());
00050 svelsizes.assign(parser.svelsizes.size(),0);
00051 copy(parser.svelsizes.begin(),parser.svelsizes.end(),svelsizes.begin());
00052 weights.assign(parser.weights.size(),0);
00053 copy(parser.weights.begin(),parser.weights.end(),weights.begin());
00054 }
00055
00056 void SurfInvGaConf::WriteData(string filename)
00057 {
00058 ofstream confout(filename.c_str());
00059 WriteData(confout);}
00060
00061 void SurfInvGaConf::WriteData(std::ofstream &outstream)
00062 {
00063 outstream << "verbose" << "=" ;
00064 outstream << (verbose ? "true" : "false") << endl;
00065 outstream << "usevrefmodel" << "=" ;
00066 outstream << (usevrefmodel ? "true" : "false") << endl;
00067 outstream << "vrefmodel" << "=" ;
00068 outstream << vrefmodel << endl;
00069 outstream << "backgroundmodel" << "=" ;
00070 outstream << backgroundmodel << endl;
00071 outstream << "fitexponent" << "=" ;
00072 outstream << fitexponent << endl;
00073 outstream << "popsize" << "=" ;
00074 outstream << popsize << endl;
00075 outstream << "inittemp" << "=" ;
00076 outstream << inittemp << endl;
00077 outstream << "coolingratio" << "=" ;
00078 outstream << coolingratio << endl;
00079 outstream << "generations" << "=" ;
00080 outstream << generations << endl;
00081 outstream << "mutationprob" << "=" ;
00082 outstream << mutationprob << endl;
00083 outstream << "crossoverprob" << "=" ;
00084 outstream << crossoverprob << endl;
00085 outstream << "poisson" << "=" ;
00086 outstream << poisson << endl;
00087 outstream << "threads" << "=" ;
00088 outstream << threads << endl;
00089 outstream << "errorlevel" << "=" ;
00090 outstream << errorlevel << endl;
00091 outstream << "gatype" << "=" ;
00092 outstream << gatype << endl;
00093 outstream << "outputbase" << "=" ;
00094 outstream << outputbase << endl;
00095 outstream << "inputdata" << "=" ;
00096 outstream << inputdata << endl;
00097 outstream << "annealinggeneration" << "=" ;
00098 outstream << annealinggeneration << endl;
00099 outstream << "elitist" << "=" ;
00100 outstream << (elitist ? "true" : "false") << endl;
00101 outstream << "thickbase" << "=" ;
00102 for (size_t i = 0; i < thickbase.size(); ++i)
00103 outstream << thickbase.at(i) << " ";
00104 outstream << endl;
00105
00106 outstream << "thickstep" << "=" ;
00107 for (size_t i = 0; i < thickstep.size(); ++i)
00108 outstream << thickstep.at(i) << " ";
00109 outstream << endl;
00110
00111 outstream << "thicksizes" << "=" ;
00112 for (size_t i = 0; i < thicksizes.size(); ++i)
00113 outstream << thicksizes.at(i) << " ";
00114 outstream << endl;
00115
00116 outstream << "svelbase" << "=" ;
00117 for (size_t i = 0; i < svelbase.size(); ++i)
00118 outstream << svelbase.at(i) << " ";
00119 outstream << endl;
00120
00121 outstream << "svelstep" << "=" ;
00122 for (size_t i = 0; i < svelstep.size(); ++i)
00123 outstream << svelstep.at(i) << " ";
00124 outstream << endl;
00125
00126 outstream << "svelsizes" << "=" ;
00127 for (size_t i = 0; i < svelsizes.size(); ++i)
00128 outstream << svelsizes.at(i) << " ";
00129 outstream << endl;
00130
00131 outstream << "weights" << "=" ;
00132 for (size_t i = 0; i < weights.size(); ++i)
00133 outstream << weights.at(i) << " ";
00134 outstream << endl;
00135
00136 }
00137