| golib
    0.5
    | 
Factor graph for use with goMaxSum and goSumProduct. More...
#include <gofactorgraph.h>
| Public Types | |
| enum | FactorType { EXP, LOG } | 
| Indicates whether the used factors are exponential or logarithmic.  More... | |
| typedef goFGNode< T, Tfloat > | NodeType | 
| typedef goFGEdge< T, Tfloat > | EdgeType | 
| typedef goFixedArray< goAutoPtr< goFGNodeVariable< T, Tfloat > > > | VariableArray | 
| typedef goFixedArray< goAutoPtr< goFGNodeFactor< T, Tfloat > > > | FactorArray | 
| typedef goList< goAutoPtr< goFGEdge< T, Tfloat > > > | EdgeList | 
| Public Member Functions | |
| void | connect (goFGNode< T, Tfloat > *n1, goSize_t adjIndex1, goFGNode< T, Tfloat > *n2, goSize_t adjIndex2) | 
| Connect n1, "slot"adjIndex1ton2, "slot"adjIndex2.  More... | |
| void | setNormal () | 
| Set all nodes to NodeType::NORMALstate. | |
| goDouble | operator() (const goMath::Vector< T > &X, FactorType ft=EXP) | 
| Public Attributes | |
| VariableArray | myVariables | 
| FactorArray | myFactors | 
| EdgeList | myEdges | 
Factor graph for use with goMaxSum and goSumProduct.
Directly resize the arrays myVariables and myFactors, and connect them using the connect() member function. 
| enum goFactorGraph::FactorType | 
Indicates whether the used factors are exponential or logarithmic.
If they are exponential, operator() uses multiplications to calculate the function value, otherwise it uses sums. 
| 
 | inline | 
Connect n1, "slot" adjIndex1 to n2, "slot" adjIndex2. 
| n1 | Node 1 | 
| adjIndex1 | Index of the edge in node 1 | 
| n2 | Node 2 | 
| adjIndex2 | Index of the edge in node 2 |