From beda6878aad3cf9b00b28c11a9d974f04c95cafd Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Fri, 30 Dec 2022 13:08:22 -0500 Subject: [PATCH] Fixed tests --- gtsam/hybrid/HybridGaussianFactorGraph.cpp | 13 ++++--------- gtsam/hybrid/HybridGaussianFactorGraph.h | 3 ++- gtsam/hybrid/tests/testGaussianMixture.cpp | 4 ++-- gtsam/hybrid/tests/testGaussianMixtureFactor.cpp | 2 +- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/gtsam/hybrid/HybridGaussianFactorGraph.cpp b/gtsam/hybrid/HybridGaussianFactorGraph.cpp index de55114b3..5ea677ab5 100644 --- a/gtsam/hybrid/HybridGaussianFactorGraph.cpp +++ b/gtsam/hybrid/HybridGaussianFactorGraph.cpp @@ -206,9 +206,8 @@ hybridElimination(const HybridGaussianFactorGraph &factors, }; sum = GaussianMixtureFactor::Sum(sum, emptyGaussian); - using EliminationPair = - std::pair, - std::pair, double>>; + using EliminationPair = std::pair, + GaussianMixtureFactor::FactorAndConstant>; KeyVector keysOfEliminated; // Not the ordering KeyVector keysOfSeparator; // TODO(frank): Is this just (keys - ordering)? @@ -216,7 +215,7 @@ hybridElimination(const HybridGaussianFactorGraph &factors, // This is the elimination method on the leaf nodes auto eliminate = [&](const GaussianFactorGraph &graph) -> EliminationPair { if (graph.empty()) { - return {nullptr, std::make_pair(nullptr, 0.0)}; + return {nullptr, {nullptr, 0.0}}; } #ifdef HYBRID_TIMING @@ -236,11 +235,7 @@ hybridElimination(const HybridGaussianFactorGraph &factors, gttoc_(hybrid_eliminate); #endif - std::pair, - std::pair, double>> - result = std::make_pair(conditional_factor.first, - std::make_pair(conditional_factor.second, 0.0)); - return result; + return {conditional_factor.first, {conditional_factor.second, 0.0}}; }; // Perform elimination! diff --git a/gtsam/hybrid/HybridGaussianFactorGraph.h b/gtsam/hybrid/HybridGaussianFactorGraph.h index 3a6eaa905..c851adfe5 100644 --- a/gtsam/hybrid/HybridGaussianFactorGraph.h +++ b/gtsam/hybrid/HybridGaussianFactorGraph.h @@ -12,7 +12,7 @@ /** * @file HybridGaussianFactorGraph.h * @brief Linearized Hybrid factor graph that uses type erasure - * @author Fan Jiang, Varun Agrawal + * @author Fan Jiang, Varun Agrawal, Frank Dellaert * @date Mar 11, 2022 */ @@ -38,6 +38,7 @@ class HybridBayesTree; class HybridJunctionTree; class DecisionTreeFactor; class JacobianFactor; +class HybridValues; /** * @brief Main elimination function for HybridGaussianFactorGraph. diff --git a/gtsam/hybrid/tests/testGaussianMixture.cpp b/gtsam/hybrid/tests/testGaussianMixture.cpp index 56dc24cf1..22c2a4621 100644 --- a/gtsam/hybrid/tests/testGaussianMixture.cpp +++ b/gtsam/hybrid/tests/testGaussianMixture.cpp @@ -128,9 +128,9 @@ TEST(GaussianMixture, Error) { // Regression for non-tree version. DiscreteValues assignment; assignment[M(1)] = 0; - EXPECT_DOUBLES_EQUAL(0.5, mixture.error(values, assignment), 1e-8); + EXPECT_DOUBLES_EQUAL(0.5, mixture.error({values, assignment}), 1e-8); assignment[M(1)] = 1; - EXPECT_DOUBLES_EQUAL(4.3252595155709335, mixture.error(values, assignment), + EXPECT_DOUBLES_EQUAL(4.3252595155709335, mixture.error({values, assignment}), 1e-8); } diff --git a/gtsam/hybrid/tests/testGaussianMixtureFactor.cpp b/gtsam/hybrid/tests/testGaussianMixtureFactor.cpp index ba0622ff9..ee4d4469b 100644 --- a/gtsam/hybrid/tests/testGaussianMixtureFactor.cpp +++ b/gtsam/hybrid/tests/testGaussianMixtureFactor.cpp @@ -188,7 +188,7 @@ TEST(GaussianMixtureFactor, Error) { DiscreteValues discreteValues; discreteValues[m1.first] = 1; EXPECT_DOUBLES_EQUAL( - 4.0, mixtureFactor.error(continuousValues, discreteValues), 1e-9); + 4.0, mixtureFactor.error({continuousValues, discreteValues}), 1e-9); } /* ************************************************************************* */