aGrUM  0.20.3
a C++ library for (probabilistic) graphical models
gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR > Class Template Reference

#include <scheduleSeparatorStoreMultiDim.h>

+ Inheritance diagram for gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >:
+ Collaboration diagram for gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >:

Public Member Functions

Constructors / Destructors
 ScheduleSeparatorStoreMultiDim (const ScheduleMultiDim< GUM_SCALAR > &table, ArcProperty< Set< const MultiDimImplementation< GUM_SCALAR > * > > &separator_tables, Arc separator)
 default constructor More...
 
 ScheduleSeparatorStoreMultiDim (const ScheduleSeparatorStoreMultiDim< GUM_SCALAR > &)
 copy constructor More...
 
virtual ScheduleSeparatorStoreMultiDim< GUM_SCALAR > * newFactory () const
 virtual copy constructor: creates a clone of the operation More...
 
virtual ~ScheduleSeparatorStoreMultiDim ()
 destructor More...
 
Operators
ScheduleSeparatorStoreMultiDim< GUM_SCALAR > & operator= (const ScheduleSeparatorStoreMultiDim< GUM_SCALAR > &)
 copy operator More...
 
bool operator== (const ScheduleOperation< GUM_SCALAR > &) const
 operator == More...
 
bool operator!= (const ScheduleOperation< GUM_SCALAR > &) const
 operator != More...
 
Accessors/Modifiers
void execute ()
 executes the operation More...
 
float nbOperations () const
 returns an estimation of the number of elementary operations needed to perform the ScheduleOperation More...
 
std::pair< long, long > memoryUsage () const
 returns the memory consumption used during the operation More...
 
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimArgs () const
 returns the set of multidims passed in argument to the operation More...
 
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimResults () const
 returns the set of multidims that should be the result of the operation More...
 
std::string toString () const
 displays the content of the operation More...
 
Accessors/Modifiers
Type type () const
 returns the name of the operation More...
 
Idx id () const
 returns the id 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...
 

Detailed Description

template<typename GUM_SCALAR>
class gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >

Definition at line 46 of file scheduleSeparatorStoreMultiDim.h.

Member Enumeration Documentation

◆ Type

template<typename GUM_SCALAR >
enum gum::ScheduleOperation::Type : char
stronginherited

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.

44  : char
45  {
47  COMBINE_MULTIDIM,
49  PROJECT_MULTIDIM,
51  DELETE_MULTIDIM,
53  CLIQUE_STORE_MULTIDIM,
55  SEPARATOR_STORE_MULTIDIM
56  };

Constructor & Destructor Documentation

◆ ScheduleSeparatorStoreMultiDim() [1/2]

template<typename GUM_SCALAR >
gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::ScheduleSeparatorStoreMultiDim ( const ScheduleMultiDim< GUM_SCALAR > &  table,
ArcProperty< Set< const MultiDimImplementation< GUM_SCALAR > * > > &  separator_tables,
Arc  separator 
)

default constructor

◆ ScheduleSeparatorStoreMultiDim() [2/2]

template<typename GUM_SCALAR >
gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::ScheduleSeparatorStoreMultiDim ( const ScheduleSeparatorStoreMultiDim< GUM_SCALAR > &  )

copy constructor

◆ ~ScheduleSeparatorStoreMultiDim()

template<typename GUM_SCALAR >
virtual gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::~ScheduleSeparatorStoreMultiDim ( )
virtual

destructor

Member Function Documentation

◆ execute()

template<typename GUM_SCALAR >
void gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::execute ( )
virtual

executes the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ id()

template<typename GUM_SCALAR >
Idx gum::ScheduleOperation< GUM_SCALAR >::id ( ) const
inherited

returns the id of the operation

◆ memoryUsage()

template<typename GUM_SCALAR >
std::pair< long, long > gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::memoryUsage ( ) const
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.

Returns
a pair of memory consumption: the first one is the maximum amount of memory used during the operation and the second one is the amount of memory still used at the end of the function ( the memory used by the resulting table )

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ multiDimArgs()

template<typename GUM_SCALAR >
const Sequence< const ScheduleMultiDim< GUM_SCALAR >* >& gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::multiDimArgs ( ) const
virtual

returns the set of multidims passed in argument to the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ multiDimResults()

template<typename GUM_SCALAR >
const Sequence< const ScheduleMultiDim< GUM_SCALAR >* >& gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::multiDimResults ( ) const
virtual

returns the set of multidims that should be the result of the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ nbOperations()

template<typename GUM_SCALAR >
float gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::nbOperations ( ) const
virtual

returns an estimation of the number of elementary operations needed to perform the ScheduleOperation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ newFactory()

template<typename GUM_SCALAR >
virtual ScheduleSeparatorStoreMultiDim< GUM_SCALAR >* gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::newFactory ( ) const
virtual

virtual copy constructor: creates a clone of the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ operator!=()

template<typename GUM_SCALAR >
bool gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::operator!= ( const ScheduleOperation< GUM_SCALAR > &  ) const
virtual

operator !=

Two operations are identical if and only if they have the same arguments and their types are identical (combine, project, etc)

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ operator=()

template<typename GUM_SCALAR >
ScheduleSeparatorStoreMultiDim< GUM_SCALAR >& gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::operator= ( const ScheduleSeparatorStoreMultiDim< GUM_SCALAR > &  )

copy operator

◆ operator==()

template<typename GUM_SCALAR >
bool gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::operator== ( const ScheduleOperation< GUM_SCALAR > &  ) const
virtual

operator ==

Two operations are identical if and only if they have the same arguments and their types are identical (combine, project, etc)

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ toString()

template<typename GUM_SCALAR >
std::string gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::toString ( ) const
virtual

displays the content of the operation

Implements gum::ScheduleOperation< GUM_SCALAR >.

◆ type()

template<typename GUM_SCALAR >
Type gum::ScheduleOperation< GUM_SCALAR >::type ( ) const
inherited

returns the name of the operation

Member Data Documentation

◆ _args_

template<typename GUM_SCALAR >
Sequence< const ScheduleMultiDim< GUM_SCALAR >* >* gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::_args_
mutableprivate

the set of ScheduleMultidims passed in arguments

Definition at line 136 of file scheduleSeparatorStoreMultiDim.h.

◆ _separator_

template<typename GUM_SCALAR >
Arc gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::_separator_
private

Definition at line 133 of file scheduleSeparatorStoreMultiDim.h.

◆ _table_

template<typename GUM_SCALAR >
ScheduleMultiDim< GUM_SCALAR > gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::_table_
private

Definition at line 127 of file scheduleSeparatorStoreMultiDim.h.

◆ _tableSet_

template<typename GUM_SCALAR >
ArcProperty< Set< const MultiDimImplementation< GUM_SCALAR >* > >* gum::ScheduleSeparatorStoreMultiDim< GUM_SCALAR >::_tableSet_
private

Definition at line 130 of file scheduleSeparatorStoreMultiDim.h.


The documentation for this class was generated from the following file: