]> git.treefish.org Git - phys/latlib.git/commitdiff
...
authorAlex Schmidt <alex@treefish.org>
Wed, 17 Apr 2013 10:07:47 +0000 (12:07 +0200)
committerAlex Schmidt <alex@treefish.org>
Wed, 17 Apr 2013 10:07:47 +0000 (12:07 +0200)
paraq.cpp
paraq.h

index b1e3292d43e1224606443bed0dd5e9257fca6d63..381941f7812dec35e5da058716a98dd62faaffce 100644 (file)
--- a/paraq.cpp
+++ b/paraq.cpp
@@ -60,6 +60,8 @@ void paraq::addRange(const string& paraid, double min, double max, double step)
   
   for( double paraval = min; paraval <= max+0.5*step; paraval += step+(step==0) )
     if( ! inParas(paraMap[paraid], paraval) ) paraMap[paraid].push_back( paraval );
+
+  uniqueAllParaIdsAdd(paraid);
 }
 
 bool paraq::inParas( vector<double>& paraVec, double& tofind )
@@ -119,3 +121,11 @@ int paraq::getTotalJobs() {
   initJobList();
   return jobList.size(); 
 }
+
+void paraq::uniqueAllParaIdsAdd(const string& paraid) {
+  for (vector<string>::iterator allparait = allParaIds.begin(); allparait != allParaIds.end(); ++allparait)
+    if ( *allparait == paraid )
+      return;
+
+  allParaIds.push_back(paraid);
+}
diff --git a/paraq.h b/paraq.h
index ef4376bf9a4ff7211305a819afdebc5433b1847a..fbb6dabae92579b1caac01960331eac963a7c397 100644 (file)
--- a/paraq.h
+++ b/paraq.h
@@ -15,9 +15,10 @@ class paraq {
   double& operator[] (string paraid);
   void addRange(const string& paraid, double range[3]) { addRange(paraid, range[0], range[1], range[2]); }
   void addRange(const string& paraid, char *range);
-  void setDefault(const string& paraid, double value) { defaultPara[paraid] = value; }
+  void setDefault(const string& paraid, double value) { defaultPara[paraid] = value; uniqueAllParaIdsAdd(paraid); }
   int getTotalJobs();
   string rangeString();
+  //map<string,double>* getAllParas() {};
 
  private:
   int nprocs, rank;
@@ -30,6 +31,8 @@ class paraq {
   bool inParas(vector<double>& paraVec, double& tofind);
   double masterdefault;
   bool jobListInitialized;
+  vector<string> allParaIds;
+  void uniqueAllParaIdsAdd(const string& paraid);
 };
 
 #endif