simplify discrete conditional computation

release/4.3a0
Varun Agrawal 2024-12-31 20:36:07 -05:00
parent a71008d7fd
commit 57c426a870
1 changed files with 2 additions and 12 deletions

View File

@ -364,19 +364,9 @@ discreteElimination(const HybridGaussianFactorGraph &factors,
#if GTSAM_HYBRID_TIMING
gttic_(EliminateDiscreteFormDiscreteConditional);
#endif
DecisionTreeFactor joint;
// Normalize if we have only 1 key
// Needed due to conversion from TableFactor
if (product.discreteKeys().size() == 1) {
joint = DecisionTreeFactor(product.discreteKeys(),
product.toDecisionTreeFactor().normalize());
} else {
joint = product.toDecisionTreeFactor();
}
// Finally, get the conditional
auto c = product / (*sum);
auto conditional = std::make_shared<DiscreteConditional>(
joint, sum->toDecisionTreeFactor(), orderedKeys);
c.toDecisionTreeFactor(), frontalKeys.size(), orderedKeys);
#if GTSAM_HYBRID_TIMING
gttoc_(EliminateDiscreteFormDiscreteConditional);
#endif