49#ifndef GUM_PROJECTIONS_4_MULTI_DIM_H
50#define GUM_PROJECTIONS_4_MULTI_DIM_H
82 template <
typename GUM_ELEMENT >
103 template <
typename GUM_ELEMENT >
125 template <
typename GUM_ELEMENT >
147 template <
typename GUM_ELEMENT >
175 template <
typename GUM_ELEMENT >
196 template <
typename GUM_ELEMENT >
218 template <
typename GUM_ELEMENT >
240 template <
typename GUM_ELEMENT >
268 template <
typename GUM_ELEMENT >
289 template <
typename GUM_ELEMENT >
311 template <
typename GUM_ELEMENT >
333 template <
typename GUM_ELEMENT >
361 template <
typename GUM_ELEMENT >
383 template <
typename GUM_ELEMENT >
405 template <
typename GUM_ELEMENT >
427 template <
typename GUM_ELEMENT >
449 template <
typename GUM_ELEMENT >
453 const GUM_ELEMENT (*f)(
const GUM_ELEMENT&,
const GUM_ELEMENT&));
466 template <
typename GUM_ELEMENT >
470 const GUM_ELEMENT (*f)(
const GUM_ELEMENT&,
const GUM_ELEMENT&));
496 template <
typename GUM_ELEMENT >
519 template <
typename GUM_ELEMENT >
543 template <
typename GUM_ELEMENT >
566 template <
typename GUM_ELEMENT >
590 template <
typename GUM_ELEMENT >
613 template <
typename GUM_ELEMENT >
637 template <
typename GUM_ELEMENT >
660 template <
typename GUM_ELEMENT >
668 template <
typename GUM_ELEMENT >
674 template <
typename GUM_ELEMENT >
680 template <
typename GUM_ELEMENT >
687 template <
typename GUM_ELEMENT >
702 template <
typename GUM_ELEMENT >
709 template <
typename GUM_ELEMENT >
725 template <
typename GUM_ELEMENT >
744 template <
typename GUM_ELEMENT >
Multidimensional matrix stored as an array in memory.
Class implementingting a function graph.
<agrum/base/multidim/multiDimImplementation.h>
GUM_ELEMENT projectMaxMultiDimArray(const MultiDimArray< GUM_ELEMENT > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Max operator.
GUM_ELEMENT * projectSumMultiDimArray4Pointers(const MultiDimArray< GUM_ELEMENT * > *table, Instantiation *instantiation=0)
a specialized function for projecting a multiDimArray using a Sum operator
GUM_ELEMENT * projectMaxMultiDimArray4Pointers(const MultiDimArray< GUM_ELEMENT * > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Max operator.
GUM_ELEMENT projectMinMultiDimArray(const MultiDimArray< GUM_ELEMENT > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Min operator.
GUM_ELEMENT * projectMinMultiDimArray4Pointers(const MultiDimArray< GUM_ELEMENT * > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Min operator.
GUM_ELEMENT * projectProductMultiDimArray4Pointers(const MultiDimArray< GUM_ELEMENT * > *table, Instantiation *instantiation=0)
a function for projecting a multiDimArray using a Product operator
GUM_ELEMENT projectProductMultiDimArray(const MultiDimArray< GUM_ELEMENT > *table, Instantiation *instantiation=0)
a function for projecting a multiDimArray using a Product operator
GUM_ELEMENT projectSumMultiDimArray(const MultiDimArray< GUM_ELEMENT > *table, Instantiation *instantiation=0)
a specialized function for projecting a multiDimArray using a Sum operator
Header of the MultiDimArray class.
Headers of MultiDimFunctionGraph.
gum is the global namespace for all aGrUM entities
MultiDimFunctionGraph< GUM_ELEMENT > * projectSumMultiDimFunctionGraph(const MultiDimFunctionGraph< GUM_ELEMENT > *table, const gum::VariableSet &del_vars)
a specialized function for projecting a multiDimFunctionGraph using a summation
MultiDimFunctionGraph< GUM_ELEMENT > * projectMaxMultiDimFunctionGraph(const MultiDimFunctionGraph< GUM_ELEMENT > *table, const gum::VariableSet &del_vars)
a specialized function for projecting a multiDimFunctionGraph using a Max operator
Set< const DiscreteVariable * > VariableSet
MultiDimFunctionGraph< GUM_ELEMENT > * projectProductMultiDimFunctionGraph(const MultiDimFunctionGraph< GUM_ELEMENT > *table, const gum::VariableSet &del_vars)
a specialized function for projecting a multiDimFunctionGraph using products
GUM_ELEMENT projectProduct(const MultiDimImplementation< GUM_ELEMENT > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a Product
MultiDimArray< GUM_ELEMENT > * ProjectFuncMultiDimArray(const MultiDimArray< GUM_ELEMENT > *t1, const MultiDimArray< GUM_ELEMENT > *t2, const GUM_ELEMENT(*f)(const GUM_ELEMENT &, const GUM_ELEMENT &))
a specialized function for functionally projecting a multiDimArray
GUM_ELEMENT projectSum(const MultiDimImplementation< GUM_ELEMENT > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a sum
GUM_ELEMENT projectMin(const MultiDimImplementation< GUM_ELEMENT > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a Min
MultiDimImplementation< GUM_ELEMENT > * combine2MultiDimArrays(const MultiDimImplementation< GUM_ELEMENT > *t1, const MultiDimImplementation< GUM_ELEMENT > *t2, const GUM_ELEMENT(*f)(const GUM_ELEMENT &, const GUM_ELEMENT &))
a specialized function for functionally projecting a multiDimArray
GUM_ELEMENT projectMax(const MultiDimImplementation< GUM_ELEMENT > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a Max
void pointerProjections4MultiDimInit()
the function used to register all the projections on multidimImplementations over pointers types.
MultiDimFunctionGraph< GUM_ELEMENT > * projectMinMultiDimFunctionGraph(const MultiDimFunctionGraph< GUM_ELEMENT > *table, const gum::VariableSet &del_vars)
a specialized function for projecting a multiDimFunctionGraph using a Min operator
void projections4MultiDimInit()
the function used to register all the projection operators on multidimImplementations over non-pointe...
Efficient functionals for projecting multiDimensional tables.
a class used to register projections over non-pointers types