1 #ifndef OPAL_SEQUENCE_H
2 #define OPAL_SEQUENCE_H
26 FromFile(
const std::string &filename,
const std::string &dvarName,
size_t modulo)
36 if ( !in.is_open() ) {
41 int nLines = std::count(std::istreambuf_iterator<char>(in),
42 std::istreambuf_iterator<char>(),
'\n');
45 in.seekg(-1, std::ios_base::end);
46 std::size_t pos = in.tellg();
49 std::getline(in, line);
51 while ( line.empty() ) {
54 in.seekg(pos, std::ios_base::beg);
55 std::getline(in, line);
66 void create(boost::shared_ptr<SampleIndividual>& ind,
size_t i) {
73 if ( !in.is_open() ) {
79 std::getline(in, header);
80 std::istringstream iss(header);
81 std::vector<std::string> dvars({std::istream_iterator<std::string>{iss},
82 std::istream_iterator<std::string>{}});
84 for (
const std::string str: dvars) {
89 if (j == dvars.size()) {
94 int nSamples = args->getArg<
int>(
"nsamples",
true);
95 int nMasters = args->getArg<
int>(
"num-masters",
true);
97 int nLocSamples = nSamples / nMasters;
98 int rest = nSamples - nMasters * nLocSamples;
107 skip = nLocSamples * id;
110 skip = nLocSamples * id;
112 skip = (nLocSamples + 1) * rest + (
id - rest) * nLocSamples;
122 std::getline(in, line);
123 while (nLocSamples-- > 0) {
124 std::istringstream iss(line);
125 std::vector<std::string> numbers({std::istream_iterator<std::string>{iss},
126 std::istream_iterator<std::string>{}});
128 chain_m.push_back(std::stod(numbers[j]));
130 std::getline(in, line);
unsigned int globalSize_m
T::PETE_Expr_t::PETE_Return_t max(const PETE_Expr< T > &expr, NDIndex< D > &loc)
The base class for all OPAL exceptions.
boost::shared_ptr< CmdArguments > CmdArguments_t
void allocate(const CmdArguments_t &args, const Comm::Bundle_t &comm)
std::vector< double > chain_m
FromFile(const std::string &filename, const std::string &dvarName, size_t modulo)
unsigned int getSize() const
void create(boost::shared_ptr< SampleIndividual > &ind, size_t i)
bundles all communicators for a specific role/pid