#include <vector>
#include <set>
#include <algorithm>
#include <functional>
#include <numeric>
#include <map>
#include <list>
#include "opengm/datastructures/marray/marray.hxx"
#include "opengm/functions/explicit_function.hxx"
#include "opengm/datastructures/sparsemarray/sparsemarray.hxx"
#include "opengm/opengm.hxx"
#include "opengm/utilities/indexing.hxx"
#include "opengm/utilities/sorting.hxx"
#include "opengm/utilities/functors.hxx"
#include "opengm/utilities/metaprogramming.hxx"
#include "opengm/operations/minimizer.hxx"
#include "opengm/graphicalmodel/graphicalmodel_factor_operator.hxx"
#include "opengm/graphicalmodel/graphicalmodel_factor_accumulator.hxx"
Go to the source code of this file.
Classes | |
class | opengm::Factor< GRAPHICAL_MODEL > |
Abstraction (wrapper class) of factors, independent of the function used to implement the factor. More... | |
class | opengm::IndependentFactor< T, I, L > |
Factor (with corresponding function and variable indices), independent of a GraphicalModel. More... | |
Namespaces | |
namespace | opengm |
The OpenGM namespace. | |
Defines | |
#define | OPENGM_INDEPENDENT_FACTOR_OPERATION_GENERATION(BINARY_OPERATOR_SYMBOL, BINARY_INPLACE_OPERATOR_SYMBOL, BINARY_FUNCTOR_NAME) |
Functions | |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator|= (IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > & | opengm::operator|= (IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator|= (IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator|| (const IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator|| (const T &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator|| (const IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator|| (const Factor< GRAPHICAL_MODEL > &op1, const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator|| (const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator|| (const Factor< GRAPHICAL_MODEL > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator|| (const Factor< GRAPHICAL_MODEL > &op1, const typename GRAPHICAL_MODEL::ValueType &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator|| (const typename GRAPHICAL_MODEL::ValueType &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator&= (IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > & | opengm::operator&= (IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator&= (IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator&& (const IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator&& (const T &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator&& (const IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator&& (const Factor< GRAPHICAL_MODEL > &op1, const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator&& (const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator&& (const Factor< GRAPHICAL_MODEL > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator&& (const Factor< GRAPHICAL_MODEL > &op1, const typename GRAPHICAL_MODEL::ValueType &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator&& (const typename GRAPHICAL_MODEL::ValueType &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator+= (IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > & | opengm::operator+= (IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator+= (IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator+ (const IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator+ (const T &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator+ (const IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator+ (const Factor< GRAPHICAL_MODEL > &op1, const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator+ (const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator+ (const Factor< GRAPHICAL_MODEL > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator+ (const Factor< GRAPHICAL_MODEL > &op1, const typename GRAPHICAL_MODEL::ValueType &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator+ (const typename GRAPHICAL_MODEL::ValueType &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator-= (IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > & | opengm::operator-= (IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator-= (IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator- (const IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator- (const T &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator- (const IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator- (const Factor< GRAPHICAL_MODEL > &op1, const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator- (const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator- (const Factor< GRAPHICAL_MODEL > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator- (const Factor< GRAPHICAL_MODEL > &op1, const typename GRAPHICAL_MODEL::ValueType &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator- (const typename GRAPHICAL_MODEL::ValueType &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator*= (IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > & | opengm::operator*= (IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator*= (IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator* (const IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator* (const T &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator* (const IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator* (const Factor< GRAPHICAL_MODEL > &op1, const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator* (const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator* (const Factor< GRAPHICAL_MODEL > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator* (const Factor< GRAPHICAL_MODEL > &op1, const typename GRAPHICAL_MODEL::ValueType &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator* (const typename GRAPHICAL_MODEL::ValueType &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator/= (IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > & | opengm::operator/= (IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > & | opengm::operator/= (IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator/ (const IndependentFactor< T, I, L > &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator/ (const T &op1, const IndependentFactor< T, I, L > &op2) |
template<class T , class I , class L > | |
IndependentFactor< T, I, L > | opengm::operator/ (const IndependentFactor< T, I, L > &op1, const T &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator/ (const Factor< GRAPHICAL_MODEL > &op1, const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator/ (const IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator/ (const Factor< GRAPHICAL_MODEL > &op1, const Factor< GRAPHICAL_MODEL > &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator/ (const Factor< GRAPHICAL_MODEL > &op1, const typename GRAPHICAL_MODEL::ValueType &op2) |
template<class GRAPHICAL_MODEL > | |
IndependentFactor< typename GRAPHICAL_MODEL::ValueType, typename GRAPHICAL_MODEL::IndexType, typename GRAPHICAL_MODEL::LabelType > | opengm::operator/ (const typename GRAPHICAL_MODEL::ValueType &op1, const Factor< GRAPHICAL_MODEL > &op2) |
#define OPENGM_INDEPENDENT_FACTOR_OPERATION_GENERATION | ( | BINARY_OPERATOR_SYMBOL, | |||
BINARY_INPLACE_OPERATOR_SYMBOL, | |||||
BINARY_FUNCTOR_NAME | ) |
Definition at line 1574 of file graphicalmodel_factor.hxx.