Merge branch 'discrete-multiply' into discrete-elimination-refactor
commit
ab2fe3707c
|
@ -53,17 +53,6 @@ class GTSAM_UNSTABLE_EXPORT AllDiff : public Constraint {
|
||||||
/// Multiply into a decisiontree
|
/// Multiply into a decisiontree
|
||||||
DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override;
|
DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override;
|
||||||
|
|
||||||
/// Multiply factors, DiscreteFactor::shared_ptr edition
|
|
||||||
DiscreteFactor::shared_ptr multiply(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override {
|
|
||||||
return std::make_shared<DecisionTreeFactor>(
|
|
||||||
this->operator*(df->toDecisionTreeFactor()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// divide by DiscreteFactor::shared_ptr f (safely)
|
|
||||||
DiscreteFactor::shared_ptr operator/(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override;
|
|
||||||
|
|
||||||
/// Compute error for each assignment and return as a tree
|
/// Compute error for each assignment and return as a tree
|
||||||
AlgebraicDecisionTree<Key> errorTree() const override {
|
AlgebraicDecisionTree<Key> errorTree() const override {
|
||||||
throw std::runtime_error("AllDiff::error not implemented");
|
throw std::runtime_error("AllDiff::error not implemented");
|
||||||
|
|
|
@ -69,19 +69,6 @@ class BinaryAllDiff : public Constraint {
|
||||||
return toDecisionTreeFactor() * f;
|
return toDecisionTreeFactor() * f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Multiply factors, DiscreteFactor::shared_ptr edition
|
|
||||||
DiscreteFactor::shared_ptr multiply(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override {
|
|
||||||
return std::make_shared<DecisionTreeFactor>(
|
|
||||||
this->operator*(df->toDecisionTreeFactor()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// divide by DiscreteFactor::shared_ptr f (safely)
|
|
||||||
DiscreteFactor::shared_ptr operator/(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override {
|
|
||||||
return this->toDecisionTreeFactor() / df;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ensure Arc-consistency by checking every possible value of domain j.
|
* Ensure Arc-consistency by checking every possible value of domain j.
|
||||||
* @param j domain to be checked
|
* @param j domain to be checked
|
||||||
|
|
|
@ -78,6 +78,14 @@ class GTSAM_UNSTABLE_EXPORT Constraint : public DiscreteFactor {
|
||||||
|
|
||||||
/// Partially apply known values, domain version
|
/// Partially apply known values, domain version
|
||||||
virtual shared_ptr partiallyApply(const Domains&) const = 0;
|
virtual shared_ptr partiallyApply(const Domains&) const = 0;
|
||||||
|
|
||||||
|
/// Multiply factors, DiscreteFactor::shared_ptr edition
|
||||||
|
DiscreteFactor::shared_ptr multiply(
|
||||||
|
const DiscreteFactor::shared_ptr& df) const override {
|
||||||
|
return std::make_shared<DecisionTreeFactor>(
|
||||||
|
this->operator*(df->toDecisionTreeFactor()));
|
||||||
|
}
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
/// @name Wrapper support
|
/// @name Wrapper support
|
||||||
/// @{
|
/// @{
|
||||||
|
|
|
@ -90,17 +90,6 @@ class GTSAM_UNSTABLE_EXPORT Domain : public Constraint {
|
||||||
/// Multiply into a decisiontree
|
/// Multiply into a decisiontree
|
||||||
DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override;
|
DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override;
|
||||||
|
|
||||||
/// Multiply factors, DiscreteFactor::shared_ptr edition
|
|
||||||
DiscreteFactor::shared_ptr multiply(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override {
|
|
||||||
return std::make_shared<DecisionTreeFactor>(
|
|
||||||
this->operator*(df->toDecisionTreeFactor()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// divide by DiscreteFactor::shared_ptr f (safely)
|
|
||||||
DiscreteFactor::shared_ptr operator/(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ensure Arc-consistency by checking every possible value of domain j.
|
* Ensure Arc-consistency by checking every possible value of domain j.
|
||||||
* @param j domain to be checked
|
* @param j domain to be checked
|
||||||
|
|
|
@ -63,17 +63,6 @@ class GTSAM_UNSTABLE_EXPORT SingleValue : public Constraint {
|
||||||
/// Multiply into a decisiontree
|
/// Multiply into a decisiontree
|
||||||
DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override;
|
DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override;
|
||||||
|
|
||||||
/// Multiply factors, DiscreteFactor::shared_ptr edition
|
|
||||||
DiscreteFactor::shared_ptr multiply(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override {
|
|
||||||
return std::make_shared<DecisionTreeFactor>(
|
|
||||||
this->operator*(df->toDecisionTreeFactor()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// divide by DiscreteFactor::shared_ptr f (safely)
|
|
||||||
DiscreteFactor::shared_ptr operator/(
|
|
||||||
const DiscreteFactor::shared_ptr& df) const override;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ensure Arc-consistency: just sets domain[j] to {value_}.
|
* Ensure Arc-consistency: just sets domain[j] to {value_}.
|
||||||
* @param j domain to be checked
|
* @param j domain to be checked
|
||||||
|
|
Loading…
Reference in New Issue