22 #ifndef GUM_UTILS_PRM_H 23 #define GUM_UTILS_PRM_H 28 #include <agrum/agrum.h> 30 #include <agrum/tools/multidim/ICIModels/multiDimNoisyORCompound.h> 31 #include <agrum/tools/multidim/ICIModels/multiDimNoisyORNet.h> 32 #include <agrum/tools/multidim/aggregators/multiDimAggregator.h> 33 #include <agrum/tools/multidim/implementations/multiDimBijArray.h> 34 #include <agrum/tools/multidim/implementations/multiDimBucket.h> 35 #include <agrum/tools/multidim/implementations/multiDimSparse.h> 36 #include <agrum/tools/multidim/potential.h> 37 #include <agrum/tools/multidim/utils/operators/multiDimCombinationDefault.h> 38 #include <agrum/tools/multidim/utils/operators/projections4MultiDim.h> 40 #include <agrum/PRM/elements/PRMObject.h> 49 void decomposePath(
const std::string& path, std::vector< std::string >& v);
69 template <
typename GUM_SCALAR >
74 template <
typename GUM_SCALAR >
84 template <
typename GUM_SCALAR >
89 template <
typename GUM_SCALAR >
90 void eliminateNodes(
const std::vector<
const DiscreteVariable* >& elim_order,
103 #include <agrum/PRM/utils_prm_tpl.h> INLINE void emplace(Args &&... args)
float prm_float
PRMType for real numbers.
ParamScopeData(const std::string &s, const PRMReferenceSlot< GUM_SCALAR > &ref, Idx d)
Potential< GUM_SCALAR > * copyPotential(const Bijection< const DiscreteVariable *, const DiscreteVariable * > &bij, const Potential< GUM_SCALAR > &source)
Returns a copy of a Potential after applying a bijection over the variables in source.
void eliminateNode(const DiscreteVariable *var, Set< Potential< GUM_SCALAR > * > &pool, Set< Potential< GUM_SCALAR > * > &trash)
Proceeds with the elimination of var in pool.
void eliminateNodes(const std::vector< const DiscreteVariable * > &elim_order, Set< Potential< GUM_SCALAR > * > &pool, Set< Potential< GUM_SCALAR > * > &trash)
NodeId nextNodeId()
Returns the next value of an unique counter for PRM's node id.
Potential< GUM_SCALAR > * multPotential(const Potential< GUM_SCALAR > &t1, const Potential< GUM_SCALAR > &t2)