33 std::getline(probe, header,
'\n');
35 if( header.find(
"# Element\n") == std::string::npos ) {
37 "Error parsing Probe header!");
40 char *token = std::strtok(&header[0],
" ");
43 while ( token != NULL ) {
45 if ( std::string(token) ==
"Element")
46 token = std::strtok(NULL,
" ");
47 else if ( token[0] !=
')' && token[0] !=
'(' && token[0] !=
'#') {
48 std::string varname = std::string(token);
50 if ( varname.back() ==
',' )
55 token = std::strtok(NULL,
" ");
62 while ( std::getline(probe, line) ) {
66 token = std::strtok(&line[0],
" ");
69 token = std::strtok(NULL,
" ");
73 while ( token != NULL ) {
74 data_m[i++].push_back( std::atof(token) );
75 token = std::strtok(NULL,
" ");
99 "ID variable not found!");
103 for (
unsigned int i = 0; i <
data_m[col].size(); ++i) {
104 if (
data_m[col][i] ==
id ) {
112 "Appropriate value not found!");
114 sim_value =
data_m[varindex][row];
ProbeReader(std::string filename)
std::map< std::string, int > columnNamesToID_m
int nColumns_m
Number of variables.
void getVariableValue(int id, std::string varname, double &sim_value)
std::vector< std::vector< double > > data_m
int nRows_m
Number of values per variable.
std::string filename_m
Probe loss filename.