From 2410d4f442ad9fc3989a2f0d6fe6c4b68fcf024e Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sat, 4 Jan 2025 15:47:36 -0500 Subject: [PATCH] use TableDistribution::argmax in discreteMaxProduct --- gtsam/hybrid/HybridBayesTree.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gtsam/hybrid/HybridBayesTree.cpp b/gtsam/hybrid/HybridBayesTree.cpp index 22777600f..1dc277243 100644 --- a/gtsam/hybrid/HybridBayesTree.cpp +++ b/gtsam/hybrid/HybridBayesTree.cpp @@ -47,16 +47,7 @@ DiscreteValues HybridBayesTree::discreteMaxProduct( const DiscreteFactorGraph& dfg) const { TableFactor product = TableProduct(dfg); - uint64_t maxIdx = 0; - double maxValue = 0.0; - Eigen::SparseVector sparseTable = product.sparseTable(); - for (TableFactor::SparseIt it(sparseTable); it; ++it) { - if (it.value() > maxValue) { - maxIdx = it.index(); - maxValue = it.value(); - } - } - + uint64_t maxIdx = TableDistribution(product).argmax(); DiscreteValues assignment = product.findAssignments(maxIdx); return assignment; }