]> git.treefish.org Git - phys/latlib.git/blobdiff - paraq.cpp
...
[phys/latlib.git] / paraq.cpp
diff --git a/paraq.cpp b/paraq.cpp
new file mode 100644 (file)
index 0000000..3f7eb29
--- /dev/null
+++ b/paraq.cpp
@@ -0,0 +1,41 @@
+#include "paraq.h"
+
+paraq::paraq(int _nprocs, const int _rank)
+{
+  lastjob = -1;
+  nprocs = _nprocs;
+  rank = _rank;
+}
+
+void paraq::addRange(const string& paraid, double min, double max, double step)
+{
+  double *range = new double[3];
+  range[0] = min;
+  range[1] = max;
+  range[2] = step;
+
+  paraMap[paraid].push_back( range );
+}
+
+map<string,double>* paraq::nextParas()
+{
+  if( lastjob == -1 ) {
+    lastjob = 0;
+    
+    for( map< string, vector< double* > >::iterator paraIt = paraMap.begin(); paraIt != paraMap.end(); ++paraIt ) {
+      for( vector< map<string,double>  >::iterator jobIt = jobList.begin(); jobIt != jobList.end(); ++jobIt) {
+       for( vector<double*>::iterator rangeIt = paraIt->second.begin(); rangeIt != paraIt->second.end(); ++rangeIt ) {
+         
+         for( double paraval = *rangeIt[0]; paraval < *rangeIt[1]; paraval += *rangeIt[2] ) {
+
+           //if( paraval == *rangeIt[0] )
+           //else
+
+         }
+
+       }
+
+      }
+    }
+  }
+}