aGrUM  0.16.0
utils_prm.h
Go to the documentation of this file.
1 
23 #ifndef GUM_UTILS_PRM_H
24 #define GUM_UTILS_PRM_H
25 
26 #include <string>
27 #include <vector>
28 
29 #include <agrum/agrum.h>
30 
40 
42 
43 namespace gum {
44  namespace prm {
45 
47  typedef float prm_float;
48 
50  void decomposePath(const std::string& path, std::vector< std::string >& v);
51 
75  template < typename GUM_SCALAR >
78  const Potential< GUM_SCALAR >& source);
79 
80  template < typename GUM_SCALAR >
82  const Potential< GUM_SCALAR >& t2);
90  template < typename GUM_SCALAR >
91  void eliminateNode(const DiscreteVariable* var,
92  Set< Potential< GUM_SCALAR >* >& pool,
93  Set< Potential< GUM_SCALAR >* >& trash);
94 
95  template < typename GUM_SCALAR >
96  void eliminateNodes(const std::vector< const DiscreteVariable* >& elim_order,
97  Set< Potential< GUM_SCALAR >* >& pool,
98  Set< Potential< GUM_SCALAR >* >& trash);
99 
104  NodeId nextNodeId();
105 
106  } /* namespace prm */
107 } /* namespace gum */
108 
109 #include <agrum/PRM/utils_prm_tpl.h>
110 
111 #endif // GUM_UTILS_PRM_H
aGrUM&#39;s Potential is a multi-dimensional array with tensor operators.
Definition: potential.h:60
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Base class for discrete random variable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Representation of a setA Set is a structure that contains arbitrary elements.
Definition: set.h:165
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
float prm_float
PRMType for real numbers.
Definition: utils_prm.h:47
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Set of pairs of elements with fast search for both elements.
Definition: bijection.h:1805
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.
Definition: utils_prm_tpl.h:29
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
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&#39;s node id.
Definition: utils_prm.cpp:65
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
void decomposePath(const std::string &path, std::vector< std::string > &v)
Decompose a string in a vector of strings using "." as separators.
Definition: utils_prm.cpp:29
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Size NodeId
Type for node ids.
Definition: graphElements.h:98
Potential< GUM_SCALAR > * multPotential(const Potential< GUM_SCALAR > &t1, const Potential< GUM_SCALAR > &t2)