add hack to multiply DiscreteConditional with TableDistribution
parent
3629c33ecd
commit
9dfdf552e1
|
@ -77,6 +77,13 @@ DiscreteConditional::DiscreteConditional(const Signature& signature)
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
DiscreteConditional DiscreteConditional::operator*(
|
DiscreteConditional DiscreteConditional::operator*(
|
||||||
const DiscreteConditional& other) const {
|
const DiscreteConditional& other) const {
|
||||||
|
// If the root is a nullptr, we have a TableDistribution
|
||||||
|
// TODO(Varun) Revisit this hack after RSS2025 submission
|
||||||
|
if (!other.root_) {
|
||||||
|
DiscreteConditional dc(other.nrFrontals(), other.toDecisionTreeFactor());
|
||||||
|
return dc * (*this);
|
||||||
|
}
|
||||||
|
|
||||||
// Take union of frontal keys
|
// Take union of frontal keys
|
||||||
std::set<Key> newFrontals;
|
std::set<Key> newFrontals;
|
||||||
for (auto&& key : this->frontals()) newFrontals.insert(key);
|
for (auto&& key : this->frontals()) newFrontals.insert(key);
|
||||||
|
|
Loading…
Reference in New Issue