diff --git a/gtsam/discrete/DecisionTreeFactor.cpp b/gtsam/discrete/DecisionTreeFactor.cpp index 7f566a115..bb83cec16 100644 --- a/gtsam/discrete/DecisionTreeFactor.cpp +++ b/gtsam/discrete/DecisionTreeFactor.cpp @@ -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; - IndexFactor::print("IndexFactor:"); - Potentials::print("Potentials:"); + IndexFactor::print("IndexFactor:",formatter); + Potentials::print("Potentials:",formatter); } /* ************************************************************************* */ diff --git a/gtsam/discrete/DecisionTreeFactor.h b/gtsam/discrete/DecisionTreeFactor.h index 89bc090dc..64f37c174 100644 --- a/gtsam/discrete/DecisionTreeFactor.h +++ b/gtsam/discrete/DecisionTreeFactor.h @@ -72,7 +72,8 @@ namespace gtsam { bool equals(const DecisionTreeFactor& other, double tol = 1e-9) const; // 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 diff --git a/gtsam/discrete/Potentials.cpp b/gtsam/discrete/Potentials.cpp index b9a87dea9..2a2260d97 100644 --- a/gtsam/discrete/Potentials.cpp +++ b/gtsam/discrete/Potentials.cpp @@ -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: "; BOOST_FOREACH(const DiscreteKey& key, cardinalities_) - cout << key.first << "=" << key.second << " "; + cout << formatter(key.first) << "=" << formatter(key.second) << " "; cout << endl; ADT::print(" "); } diff --git a/gtsam/discrete/Potentials.h b/gtsam/discrete/Potentials.h index 367a323c2..3ca222b5f 100644 --- a/gtsam/discrete/Potentials.h +++ b/gtsam/discrete/Potentials.h @@ -65,7 +65,8 @@ namespace gtsam { // Testable 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);} diff --git a/gtsam_unstable/discrete/AllDiff.cpp b/gtsam_unstable/discrete/AllDiff.cpp index 41905f874..ac412fa7f 100644 --- a/gtsam_unstable/discrete/AllDiff.cpp +++ b/gtsam_unstable/discrete/AllDiff.cpp @@ -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 "; BOOST_FOREACH (Index dkey, keys_) - std::cout << dkey << " "; + std::cout << formatter(dkey) << " "; std::cout << std::endl; } diff --git a/gtsam_unstable/discrete/AllDiff.h b/gtsam_unstable/discrete/AllDiff.h index fb5a47a59..1a560ace2 100644 --- a/gtsam_unstable/discrete/AllDiff.h +++ b/gtsam_unstable/discrete/AllDiff.h @@ -34,7 +34,8 @@ namespace gtsam { AllDiff(const DiscreteKeys& dkeys); // print - virtual void print(const std::string& s = "") const; + virtual void print(const std::string& s = "", + const IndexFormatter& formatter = DefaultIndexFormatter) const; /// Calculate value = expensive ! virtual double operator()(const Values& values) const; diff --git a/gtsam_unstable/discrete/BinaryAllDiff.h b/gtsam_unstable/discrete/BinaryAllDiff.h index a2e260bcd..9ed2f79f1 100644 --- a/gtsam_unstable/discrete/BinaryAllDiff.h +++ b/gtsam_unstable/discrete/BinaryAllDiff.h @@ -33,9 +33,10 @@ namespace gtsam { } // print - virtual void print(const std::string& s = "") const { - std::cout << s << "BinaryAllDiff on " << keys_[0] << " and " << keys_[1] - << std::endl; + virtual void print(const std::string& s = "", + const IndexFormatter& formatter = DefaultIndexFormatter) const { + std::cout << s << "BinaryAllDiff on " << formatter(keys_[0]) << " and " + << formatter(keys_[1]) << std::endl; } /// Calculate value diff --git a/gtsam_unstable/discrete/Domain.cpp b/gtsam_unstable/discrete/Domain.cpp index e43065f3b..dbc05e3f6 100644 --- a/gtsam_unstable/discrete/Domain.cpp +++ b/gtsam_unstable/discrete/Domain.cpp @@ -15,9 +15,10 @@ namespace gtsam { using namespace std; /* ************************************************************************* */ - void Domain::print(const string& s) const { -// cout << s << ": Domain on " << keys_[0] << " (j=" << keys_[0] -// << ") with values"; + void Domain::print(const string& s, + const IndexFormatter& formatter) const { +// cout << s << ": Domain on " << formatter(keys_[0]) << " (j=" << +// formatter(keys_[0]) << ") with values"; // BOOST_FOREACH (size_t v,values_) cout << " " << v; // cout << endl; BOOST_FOREACH (size_t v,values_) cout << v; diff --git a/gtsam_unstable/discrete/Domain.h b/gtsam_unstable/discrete/Domain.h index a4f0c8054..85b35fe8c 100644 --- a/gtsam_unstable/discrete/Domain.h +++ b/gtsam_unstable/discrete/Domain.h @@ -66,7 +66,8 @@ namespace gtsam { } // 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 { return values_.count(value)>0; diff --git a/gtsam_unstable/discrete/SingleValue.cpp b/gtsam_unstable/discrete/SingleValue.cpp index 6f6d5a3ff..81133e7f7 100644 --- a/gtsam_unstable/discrete/SingleValue.cpp +++ b/gtsam_unstable/discrete/SingleValue.cpp @@ -16,8 +16,9 @@ namespace gtsam { using namespace std; /* ************************************************************************* */ - void SingleValue::print(const string& s) const { - cout << s << "SingleValue on " << "j=" << keys_[0] + void SingleValue::print(const string& s, + const IndexFormatter& formatter) const { + cout << s << "SingleValue on " << "j=" << formatter(keys_[0]) << " with value " << value_ << endl; } diff --git a/gtsam_unstable/discrete/SingleValue.h b/gtsam_unstable/discrete/SingleValue.h index b229d8b79..1f6e362aa 100644 --- a/gtsam_unstable/discrete/SingleValue.h +++ b/gtsam_unstable/discrete/SingleValue.h @@ -42,7 +42,8 @@ namespace gtsam { } // print - virtual void print(const std::string& s = "") const; + virtual void print(const std::string& s = "", + const IndexFormatter& formatter = DefaultIndexFormatter) const; /// Calculate value virtual double operator()(const Values& values) const;