29 for(
unsigned int y = 0;
y < pRows;
y++) {
30 mEntries.push_back(std::vector<double>());
31 for(
unsigned int x = 0;
x < pColums;
x++)
49 BOOST_FOREACH(boost::property_tree::ptree::value_type &v, pPt.get_child(
"table"))
52 if(!std::strcmp(v.first.c_str(),
"entry"))
55 std::string valuesAsString = v.second.get<std::string>(
"<xmlattr>.values");
58 std::vector<double> line;
70 boost::property_tree::ptree subtree;
73 for(
unsigned int i = 0; i <
mEntries.size(); i++)
76 std::string lineAsString;
80 boost::property_tree::ptree subtreeEntry;
81 subtreeEntry.add(
"<xmlattr>.values", lineAsString);
82 subtree.add_child(
"entry", subtreeEntry);
86 pPt.add_child(
"table", subtree);
93 throw std::invalid_argument(
"Error in probability table. Row out of boundaries.");
96 if(!(pColumn <
mEntries[pRow].size()))
97 throw std::invalid_argument(
"Error in probability table. Column out of boundaries.");
117 throw std::invalid_argument(
"Error in probability table. Row out of boundaries.");
120 if(!(pColumn <
mEntries[pRow].size()))
121 throw std::invalid_argument(
"Error in probability table. Column out of boundaries.");
130 for(
unsigned int i = 0; i <
mEntries.size(); i++)
138 for(
unsigned int j = 0; j <
mEntries[i].size(); j++)
unsigned int getNumberOfColumns()
static void convertStringToVector(std::string &str, std::vector< double > &vec)
void load(boost::property_tree::ptree &pPt)
static void convertVectorToString(std::vector< double > &vec, std::string &str)
std::vector< std::vector< double > > mEntries
TFSIMD_FORCE_INLINE const tfScalar & y() const
void save(boost::property_tree::ptree &pPt)
double getProbability(unsigned int pRow, unsigned int pColumn)
TFSIMD_FORCE_INLINE const tfScalar & x() const
void add(unsigned int pRow, unsigned int pColumn, unsigned int pCounts)
unsigned int getNumberOfRows()