X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/d09f5f0aeff338a0262c3faf5272b82945a3bf8f..c819c7a5996c18a6b1c5501c1984245840ddc8ca:/o815/o815.h?ds=sidebyside diff --git a/o815/o815.h b/o815/o815.h index b3ad62a..0e2a611 100644 --- a/o815/o815.h +++ b/o815/o815.h @@ -3,7 +3,6 @@ #include #include -#include #include #include @@ -43,12 +42,16 @@ class o815 { class sim { public: sim(o815 *_O815, const int& _confmemSize); + ~sim (); void nextConfig(); char *confMem; virtual void _newParas()=0; int nequi, nskip; + void resetConfig(); private: virtual void _makeSweep()=0; + virtual void _resetConfig()=0; + char *startConfiguration; protected: o815 *O815; ostream *log; @@ -65,6 +68,7 @@ class o815 { string outdir; int idonly; int showjobnum; + string startconfig; } comargs; struct comoption { @@ -84,7 +88,7 @@ class o815 { vector observables; sim* Sim; void mainLoop(); - string headMaster(); + string headMaster( bool hashedrange=false ); void addPara(const string& paraid, const double& paraDefault); void addComOption(const char* name, int has_arg, int *flag, int val, const char* optdesc, const char* argdesc); vector< pair > parsedSpecOps; @@ -92,13 +96,14 @@ class o815 { private: vector comOptions; - MPI_Status mpiStatus; int numprocs, rank; static void listArg(int *target, int tlen, char *listarg); void parseArgs(int argc, char **argv, comoption specOps[]); string programid; int nextParas(); comoption* getOptionByVal(int val); + static void readCacheArgs(const string& arg, string& cachedir, int& cachemode); + unsigned long hash(const string& str); }; #endif