]> git.treefish.org Git - phys/latlib.git/blobdiff - o815/o815.h
Implemented startconfig.
[phys/latlib.git] / o815 / o815.h
index b3ad62a79a7a0f81812ddcd6837960f9d2c28ffb..0e2a611af71e064e8b55bb5b93577466dab5424d 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <string>
 #include <vector>
 
 #include <string>
 #include <vector>
-#include <mpi.h>
 #include <stdlib.h>
 #include <getopt.h>
 
 #include <stdlib.h>
 #include <getopt.h>
 
@@ -43,12 +42,16 @@ class o815 {
   class sim {
   public:
     sim(o815 *_O815, const int& _confmemSize);
   class sim {
   public:
     sim(o815 *_O815, const int& _confmemSize);
+    ~sim ();
     void nextConfig();
     char *confMem;
     virtual void _newParas()=0;
     int nequi, nskip;
     void nextConfig();
     char *confMem;
     virtual void _newParas()=0;
     int nequi, nskip;
+    void resetConfig();
   private:
     virtual void _makeSweep()=0;
   private:
     virtual void _makeSweep()=0;
+    virtual void _resetConfig()=0;
+    char *startConfiguration;
   protected:
     o815 *O815;
     ostream *log;
   protected:
     o815 *O815;
     ostream *log;
@@ -65,6 +68,7 @@ class o815 {
     string outdir;
     int idonly;
     int showjobnum;
     string outdir;
     int idonly;
     int showjobnum;
+    string startconfig;
   } comargs;
 
   struct comoption {
   } comargs;
 
   struct comoption {
@@ -84,7 +88,7 @@ class o815 {
   vector<obs*> observables;
   sim* Sim;
   void mainLoop();
   vector<obs*> 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<int,char*> > parsedSpecOps;
   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<int,char*> > parsedSpecOps;
@@ -92,13 +96,14 @@ class o815 {
 
 private:
   vector<comoption> comOptions;
 
 private:
   vector<comoption> 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);
   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
 };
 
 #endif