1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 01:05:38 +01:00

Hadrons: contractor token @traj@ for trajectory number in input file

This commit is contained in:
Antonin Portelli 2018-11-19 16:04:01 +00:00
parent f22a27d7f9
commit 5d7cc29eaf
2 changed files with 17 additions and 2 deletions

View File

@ -249,6 +249,20 @@ void makeFileDir(const std::string filename, GridBase *g = nullptr);
// pretty print time profile
void printTimeProfile(const std::map<std::string, GridTime> &timing, GridTime total);
// token replacement utility
template <typename T>
void tokenReplace(std::string &str, const std::string token,
const T &x, const std::string mark = "@")
{
std::string fullToken = mark + token + mark;
auto pos = str.find(fullToken);
if (pos != std::string::npos)
{
str.replace(pos, fullToken.size(), std::to_string(x));
}
}
END_HADRONS_NAMESPACE
#include <Hadrons/Exceptions.hpp>

View File

@ -60,7 +60,7 @@ namespace Contractor
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(A2AMatrixPar,
std::string, fileStem,
std::string, file,
std::string, dataset,
unsigned int, cacheSize,
std::string, name);
@ -279,9 +279,10 @@ int main(int argc, char* argv[])
// load data
for (auto &p: par.a2aMatrix)
{
std::string filename = RESULT_FILE_NAME(p.fileStem, traj);
std::string filename = p.file;
double t, size;
tokenReplace(filename, "traj", traj);
std::cout << "======== Loading '" << filename << "'" << std::endl;
A2AMatrixIo<HADRONS_A2AM_IO_TYPE> a2aIo(filename, p.dataset, par.global.nt);