X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/da40516c45a68dd97bf15d7df02f960897bfa42e..d3e332b13eccd2fa7e467770f6d973b4f34904cf:/paraq.cpp?ds=inline diff --git a/paraq.cpp b/paraq.cpp new file mode 100644 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* paraq::nextParas() +{ + if( lastjob == -1 ) { + lastjob = 0; + + for( map< string, vector< double* > >::iterator paraIt = paraMap.begin(); paraIt != paraMap.end(); ++paraIt ) { + for( vector< map >::iterator jobIt = jobList.begin(); jobIt != jobList.end(); ++jobIt) { + for( vector::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 + + } + + } + + } + } + } +}