![]() |
aGrUM
0.20.3
a C++ library for (probabilistic) graphical models
|
#include <scheduleOperation.h>
Public Member Functions | |
Constructors / Destructors | |
virtual ScheduleOperation< GUM_SCALAR > * | newFactory () const =0 |
virtual copy constructor: creates a clone of the operation More... | |
virtual | ~ScheduleOperation () |
destructor More... | |
Operators | |
virtual bool | operator== (const ScheduleOperation< GUM_SCALAR > &) const =0 |
operator == More... | |
virtual bool | operator!= (const ScheduleOperation< GUM_SCALAR > &) const =0 |
operator != More... | |
Accessors/Modifiers | |
Type | type () const |
returns the name of the operation More... | |
Idx | id () const |
returns the id of the operation More... | |
virtual const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & | multiDimArgs () const =0 |
returns the set of multidims passed in argument to the operation More... | |
virtual const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & | multiDimResults () const =0 |
returns the set of multidims that should be the result of the operation More... | |
virtual void | execute ()=0 |
executes the operation More... | |
virtual float | nbOperations () const =0 |
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation More... | |
virtual std::pair< long, long > | memoryUsage () const =0 |
returns the memory consumption used during the operation More... | |
virtual std::string | toString () const =0 |
displays the content of the operation More... | |
Public Types | |
enum | Type : char { Type::COMBINE_MULTIDIM, Type::PROJECT_MULTIDIM, Type::DELETE_MULTIDIM, Type::CLIQUE_STORE_MULTIDIM, Type::SEPARATOR_STORE_MULTIDIM } |
the currently supported types of operations More... | |
Protected Member Functions | |
ScheduleOperation (Type t) | |
default constructor More... | |
ScheduleOperation (const ScheduleOperation< GUM_SCALAR > &from) | |
copy constructor More... | |
ScheduleOperation< GUM_SCALAR > & | operator= (const ScheduleOperation< GUM_SCALAR > &) |
copy operator More... | |
Definition at line 41 of file scheduleOperation.h.
|
strong |
the currently supported types of operations
Enumerator | |
---|---|
COMBINE_MULTIDIM | combine 2 ScheduleMultiDims |
PROJECT_MULTIDIM | project a ScheduleMultiDim over a subset of its variables |
DELETE_MULTIDIM | delete a MultiDim from memory |
CLIQUE_STORE_MULTIDIM | store a Multidim into a clique |
SEPARATOR_STORE_MULTIDIM | store a multidim into a separator |
Definition at line 44 of file scheduleOperation.h.
|
virtual |
destructor
|
explicitprotected |
default constructor
|
protected |
copy constructor
|
staticprivate |
returns a new distinct ID for each operation
|
pure virtual |
executes the operation
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
Idx gum::ScheduleOperation< GUM_SCALAR >::id | ( | ) | const |
returns the id of the operation
|
pure virtual |
returns the memory consumption used during the operation
Actually, this function does not return a precise account of the memory used by the ScheduleOperation but a rough estimate based on the sizes of the tables involved in the operation.
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
|
pure virtual |
returns the set of multidims passed in argument to the operation
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
|
pure virtual |
returns the set of multidims that should be the result of the operation
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
|
pure virtual |
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
|
pure virtual |
virtual copy constructor: creates a clone of the operation
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
|
pure virtual |
operator !=
Two operations are identical if and only if they have the same arguments and their types are identical (combine, project, etc)
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
|
protected |
copy operator
|
pure virtual |
operator ==
Two operations are identical if and only if they have the same arguments and their types are identical (combine, project, etc)
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
|
pure virtual |
displays the content of the operation
Implemented in gum::ScheduleProject< GUM_SCALAR >, gum::ScheduleCombine< GUM_SCALAR >, gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >, gum::ScheduleCliqueStoreMultiDim< GUM_SCALAR >, and gum::ScheduleDeleteMultiDim< GUM_SCALAR >.
Type gum::ScheduleOperation< GUM_SCALAR >::type | ( | ) | const |
returns the name of the operation
|
private |
the id corresponding to the operation
Definition at line 143 of file scheduleOperation.h.
|
private |
the name of the operation to perform
Definition at line 140 of file scheduleOperation.h.