- 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] ) {
+ for( map< string, vector< double > >::iterator paraIt = paraMap.begin(); paraIt != paraMap.end(); ++paraIt )
+ while( jobList.begin()->find(paraIt->first) == jobList.begin()->end() ) {
+ for( vector<double>::iterator valIt = paraIt->second.begin(); valIt != paraIt->second.end(); ++valIt ) {
+ jobList.push_back( *jobList.begin() );
+ jobList.back()[paraIt->first] = *valIt;
+ }
+ jobList.erase( jobList.begin() );
+ }
+ jobListInitialized = true;
+ }
+}
+
+int paraq::nextParas()
+{
+ if( thisjob == -1 ) {
+ initJobList();
+ thisjob = rank;
+ }
+ else
+ thisjob += nprocs;