Formatter in discrete, as well

release/4.3a0
Frank Dellaert 2012-06-30 10:30:06 +00:00
parent badb22c304
commit 8851179d3c
11 changed files with 31 additions and 20 deletions

View File

@ -49,10 +49,11 @@ namespace gtsam {
} }
/* ************************************************************************* */ /* ************************************************************************* */
void DecisionTreeFactor::print(const string& s) const { void DecisionTreeFactor::print(const string& s,
const IndexFormatter& formatter) const {
cout << s; cout << s;
IndexFactor::print("IndexFactor:"); IndexFactor::print("IndexFactor:",formatter);
Potentials::print("Potentials:"); Potentials::print("Potentials:",formatter);
} }
/* ************************************************************************* */ /* ************************************************************************* */

View File

@ -72,7 +72,8 @@ namespace gtsam {
bool equals(const DecisionTreeFactor& other, double tol = 1e-9) const; bool equals(const DecisionTreeFactor& other, double tol = 1e-9) const;
// print // print
void print(const std::string& s = "DecisionTreeFactor:\n") const; virtual void print(const std::string& s = "DecisionTreeFactor:\n",
const IndexFormatter& formatter = DefaultIndexFormatter) const;
/// @} /// @}
/// @name Standard Interface /// @name Standard Interface

View File

@ -51,10 +51,11 @@ namespace gtsam {
} }
/* ************************************************************************* */ /* ************************************************************************* */
void Potentials::print(const string&s) const { void Potentials::print(const string& s,
const IndexFormatter& formatter) const {
cout << s << "\n Cardinalities: "; cout << s << "\n Cardinalities: ";
BOOST_FOREACH(const DiscreteKey& key, cardinalities_) BOOST_FOREACH(const DiscreteKey& key, cardinalities_)
cout << key.first << "=" << key.second << " "; cout << formatter(key.first) << "=" << formatter(key.second) << " ";
cout << endl; cout << endl;
ADT::print(" "); ADT::print(" ");
} }

View File

@ -65,7 +65,8 @@ namespace gtsam {
// Testable // Testable
bool equals(const Potentials& other, double tol = 1e-9) const; bool equals(const Potentials& other, double tol = 1e-9) const;
void print(const std::string& s = "Potentials: ") const; void print(const std::string& s = "Potentials: ",
const IndexFormatter& formatter = DefaultIndexFormatter) const;
size_t cardinality(Index j) const { return cardinalities_.at(j);} size_t cardinality(Index j) const { return cardinalities_.at(j);}

View File

@ -20,10 +20,11 @@ namespace gtsam {
} }
/* ************************************************************************* */ /* ************************************************************************* */
void AllDiff::print(const std::string& s) const { void AllDiff::print(const std::string& s,
const IndexFormatter& formatter) const {
std::cout << s << "AllDiff on "; std::cout << s << "AllDiff on ";
BOOST_FOREACH (Index dkey, keys_) BOOST_FOREACH (Index dkey, keys_)
std::cout << dkey << " "; std::cout << formatter(dkey) << " ";
std::cout << std::endl; std::cout << std::endl;
} }

View File

@ -34,7 +34,8 @@ namespace gtsam {
AllDiff(const DiscreteKeys& dkeys); AllDiff(const DiscreteKeys& dkeys);
// print // print
virtual void print(const std::string& s = "") const; virtual void print(const std::string& s = "",
const IndexFormatter& formatter = DefaultIndexFormatter) const;
/// Calculate value = expensive ! /// Calculate value = expensive !
virtual double operator()(const Values& values) const; virtual double operator()(const Values& values) const;

View File

@ -33,9 +33,10 @@ namespace gtsam {
} }
// print // print
virtual void print(const std::string& s = "") const { virtual void print(const std::string& s = "",
std::cout << s << "BinaryAllDiff on " << keys_[0] << " and " << keys_[1] const IndexFormatter& formatter = DefaultIndexFormatter) const {
<< std::endl; std::cout << s << "BinaryAllDiff on " << formatter(keys_[0]) << " and "
<< formatter(keys_[1]) << std::endl;
} }
/// Calculate value /// Calculate value

View File

@ -15,9 +15,10 @@ namespace gtsam {
using namespace std; using namespace std;
/* ************************************************************************* */ /* ************************************************************************* */
void Domain::print(const string& s) const { void Domain::print(const string& s,
// cout << s << ": Domain on " << keys_[0] << " (j=" << keys_[0] const IndexFormatter& formatter) const {
// << ") with values"; // cout << s << ": Domain on " << formatter(keys_[0]) << " (j=" <<
// formatter(keys_[0]) << ") with values";
// BOOST_FOREACH (size_t v,values_) cout << " " << v; // BOOST_FOREACH (size_t v,values_) cout << " " << v;
// cout << endl; // cout << endl;
BOOST_FOREACH (size_t v,values_) cout << v; BOOST_FOREACH (size_t v,values_) cout << v;

View File

@ -66,7 +66,8 @@ namespace gtsam {
} }
// print // print
virtual void print(const std::string& s = "") const; virtual void print(const std::string& s = "",
const IndexFormatter& formatter = DefaultIndexFormatter) const;
bool contains(size_t value) const { bool contains(size_t value) const {
return values_.count(value)>0; return values_.count(value)>0;

View File

@ -16,8 +16,9 @@ namespace gtsam {
using namespace std; using namespace std;
/* ************************************************************************* */ /* ************************************************************************* */
void SingleValue::print(const string& s) const { void SingleValue::print(const string& s,
cout << s << "SingleValue on " << "j=" << keys_[0] const IndexFormatter& formatter) const {
cout << s << "SingleValue on " << "j=" << formatter(keys_[0])
<< " with value " << value_ << endl; << " with value " << value_ << endl;
} }

View File

@ -42,7 +42,8 @@ namespace gtsam {
} }
// print // print
virtual void print(const std::string& s = "") const; virtual void print(const std::string& s = "",
const IndexFormatter& formatter = DefaultIndexFormatter) const;
/// Calculate value /// Calculate value
virtual double operator()(const Values& values) const; virtual double operator()(const Values& values) const;