#include <Assignment.h>
Public Member Functions | |
Assignment ()=default | |
Assignment (std::initializer_list< std::pair< const L, size_t >> init) | |
bool | equals (const Assignment &other, double tol=1e-9) const |
void | print (const std::string &s="Assignment: ", const std::function< std::string(L)> &labelFormatter=&DefaultFormatter) const |
Static Public Member Functions | |
template<typename Derived = Assignment<L>> | |
static std::vector< Derived > | CartesianProduct (const std::vector< std::pair< L, size_t >> &keys) |
Get Cartesian product consisting all possible configurations. More... | |
Static Private Member Functions | |
static std::string | DefaultFormatter (const L &x) |
Default method used by labelFormatter or valueFormatter when printing. More... | |
An assignment from labels to value index (size_t). Assigns to each label a value. Implemented as a simple map. A discrete factor takes an Assignment and returns a value.
Definition at line 37 of file Assignment.h.
|
default |
|
inline |
Definition at line 58 of file Assignment.h.
|
inlinestatic |
Get Cartesian product consisting all possible configurations.
vector | list of keys (label,cardinality) pairs. |
This function returns a vector of Assignment values for all possible (Cartesian product) configurations of set of Keys which are nothing but (Label,cardinality) pairs. This function should NOT be called for more than a small number of variables and cardinalities. E.g. For 6 variables with each having cardinalities 4, we get 4096 possible configurations!!
Definition at line 89 of file Assignment.h.
|
inlinestaticprivate |
Default method used by labelFormatter
or valueFormatter
when printing.
x | The value passed to format. |
Definition at line 45 of file Assignment.h.
|
inline |
Definition at line 72 of file Assignment.h.
|
inline |
Definition at line 61 of file Assignment.h.