diff --git a/gtsam/discrete/DiscreteTableConditional.cpp b/gtsam/discrete/DiscreteTableConditional.cpp index cdfc36556..f50d7fbeb 100644 --- a/gtsam/discrete/DiscreteTableConditional.cpp +++ b/gtsam/discrete/DiscreteTableConditional.cpp @@ -130,12 +130,14 @@ void DiscreteTableConditional::print(const string& s, /* ************************************************************************** */ bool DiscreteTableConditional::equals(const DiscreteFactor& other, double tol) const { - if (!dynamic_cast(&other)) { + auto dtc = dynamic_cast(&other); + if (!dtc) { return false; } else { const DiscreteConditional& f( static_cast(other)); - return DiscreteConditional::equals(f, tol); + return table_.equals(dtc->table_, tol) && + DiscreteConditional::equals(f, tol); } }