diff --git a/gtsam/hybrid/HybridConditional.cpp b/gtsam/hybrid/HybridConditional.cpp index 6657aec8c..611f9b0e7 100644 --- a/gtsam/hybrid/HybridConditional.cpp +++ b/gtsam/hybrid/HybridConditional.cpp @@ -117,6 +117,22 @@ bool HybridConditional::equals(const HybridFactor &other, double tol) const { return other != nullptr && dc->equals(*other, tol); } return inner_->equals(*(e->inner_), tol); + + if (inner_) { + if (e->inner_) { + // Both the inner_ factors are not null + return inner_->equals(*(e->inner_), tol); + } else { + return false; + } + } else { + if (e->inner_) { + return false; + } else { + // Both inner_ are null + return true; + } + } } /* ************************************************************************ */