make ADT with nullptr in TableDistribution
parent
9228f0f771
commit
b81ab86b69
|
|
@ -57,6 +57,9 @@ namespace gtsam {
|
||||||
|
|
||||||
AlgebraicDecisionTree(double leaf = 1.0) : Base(leaf) {}
|
AlgebraicDecisionTree(double leaf = 1.0) : Base(leaf) {}
|
||||||
|
|
||||||
|
/// Constructor which accepts root pointer
|
||||||
|
AlgebraicDecisionTree(const typename Base::NodePtr root) : Base(root) {}
|
||||||
|
|
||||||
// Explicitly non-explicit constructor
|
// Explicitly non-explicit constructor
|
||||||
AlgebraicDecisionTree(const Base& add) : Base(add) {}
|
AlgebraicDecisionTree(const Base& add) : Base(add) {}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,15 +45,14 @@ static Eigen::SparseVector<double> normalizeSparseTable(
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
TableDistribution::TableDistribution(const TableFactor& f)
|
TableDistribution::TableDistribution(const TableFactor& f)
|
||||||
: BaseConditional(f.keys().size(),
|
: BaseConditional(f.keys().size(), f.discreteKeys(), ADT(nullptr)),
|
||||||
DecisionTreeFactor(f.discreteKeys(), ADT())),
|
|
||||||
table_(f / (*std::dynamic_pointer_cast<TableFactor>(
|
table_(f / (*std::dynamic_pointer_cast<TableFactor>(
|
||||||
f.sum(f.keys().size())))) {}
|
f.sum(f.keys().size())))) {}
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
TableDistribution::TableDistribution(const DiscreteKeys& keys,
|
TableDistribution::TableDistribution(const DiscreteKeys& keys,
|
||||||
const std::vector<double>& potentials)
|
const std::vector<double>& potentials)
|
||||||
: BaseConditional(keys.size(), keys, DecisionTreeFactor(keys, ADT())),
|
: BaseConditional(keys.size(), keys, ADT(nullptr)),
|
||||||
table_(TableFactor(
|
table_(TableFactor(
|
||||||
keys, normalizeSparseTable(TableFactor::Convert(keys, potentials)))) {
|
keys, normalizeSparseTable(TableFactor::Convert(keys, potentials)))) {
|
||||||
}
|
}
|
||||||
|
|
@ -61,7 +60,7 @@ TableDistribution::TableDistribution(const DiscreteKeys& keys,
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
TableDistribution::TableDistribution(const DiscreteKeys& keys,
|
TableDistribution::TableDistribution(const DiscreteKeys& keys,
|
||||||
const std::string& potentials)
|
const std::string& potentials)
|
||||||
: BaseConditional(keys.size(), keys, DecisionTreeFactor(keys, ADT())),
|
: BaseConditional(keys.size(), keys, ADT(nullptr)),
|
||||||
table_(TableFactor(
|
table_(TableFactor(
|
||||||
keys, normalizeSparseTable(TableFactor::Convert(keys, potentials)))) {
|
keys, normalizeSparseTable(TableFactor::Convert(keys, potentials)))) {
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue