X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/36bc55ceb7b62569c7604f28b3e53bc2e42cf0ce..074bd4d5f4b73c85da8f105ba3bfca00bf490ac8:/configcache.cpp?ds=inline diff --git a/configcache.cpp b/configcache.cpp index 168de5e..62519a4 100644 --- a/configcache.cpp +++ b/configcache.cpp @@ -72,8 +72,6 @@ bool configcache::isValidInFile(const string& infile, infiledesc *filedesc) string truncIn, truncOut; filedesc->filename = infile; - filedesc->doVirtualEquilibration = false; - filedesc->readEquilibratedConfigs = 0; if( infile.size() < 4 ) return false; @@ -98,8 +96,6 @@ bool configcache::isValidInFile(const string& infile, infiledesc *filedesc) return false; break; case 2: - if (atoi(inParts) < NEQUI) - filedesc->doVirtualEquilibration = true; filedesc->nequi = atoi(inParts); break; case 3: @@ -178,12 +174,9 @@ void * configcache::getHeader(const string& headerid) { return NULL; } -/* returns number of equilibration-steps left with new read configuration - or zero if no new configuration was read */ -void configcache::readConfig(bool& readnewconfig, int& nequileft, vector *excludeFileHashes) +void configcache::readConfig(bool *readnewconfig, int *nequileft, vector *excludeFileHashes) { - readnewconfig = false; - nequileft = NEQUI; + *readnewconfig = false; if(DATADIR == "" || MODE == CACHE_MODE_DISABLED) return; @@ -195,12 +188,24 @@ void configcache::readConfig(bool& readnewconfig, int& nequileft, vector::iterator inFileIt = getNextInfile(excludeFileHashes); + int iDidVirtualSkips; - if( (!inFile.is_open()) && inFileIt == inFiles.end() ) return; + if( (!inFile.is_open()) && inFileIt == inFiles.end() ) { + if (*readnewconfig) + *nequileft = nequileft_internal; + return; + } while( (!inFile.is_open()) && inFiles.size() > 0 ) { openFileDesc = *inFileIt; + if (openFileDesc.nequi < NEQUI) + doVirtualEquilibration = true; + else + doVirtualEquilibration = false; + + firstUsedConfig = true; + if(log) *log << "CCACHE: Opening dat-file: " << inFileIt->filename << endl << flush; inFile.open( (DATADIR + "/" + inFileIt->filename).c_str(), std::ios::binary ); @@ -215,16 +220,17 @@ void configcache::readConfig(bool& readnewconfig, int& nequileft, vector