diff --git a/gtsam/hybrid/HybridBayesNet.cpp b/gtsam/hybrid/HybridBayesNet.cpp index c84ed9aa6..5bb0723d2 100644 --- a/gtsam/hybrid/HybridBayesNet.cpp +++ b/gtsam/hybrid/HybridBayesNet.cpp @@ -53,11 +53,11 @@ HybridBayesNet HybridBayesNet::prune( // Prune discrete Bayes net DiscreteValues fixed; - auto prunedBN = marginal.prune(maxNrLeaves, marginalThreshold, &fixed); + DiscreteBayesNet prunedBN = + marginal.prune(maxNrLeaves, marginalThreshold, &fixed); // Multiply into one big conditional. NOTE: possibly quite expensive. - DiscreteConditional pruned; - for (auto &&conditional : prunedBN) pruned = pruned * (*conditional); + DiscreteConditional pruned = prunedBN.joint(); // Set the fixed values if requested. if (marginalThreshold && fixedValues) {