28 #ifndef GUM_COMPLETE_PROJECTIONS_4_MULTI_DIM_H 29 #define GUM_COMPLETE_PROJECTIONS_4_MULTI_DIM_H 63 template <
typename GUM_SCALAR >
65 Instantiation* instantiation = 0);
88 template <
typename GUM_SCALAR >
91 Instantiation* instantiation = 0);
114 template <
typename GUM_SCALAR >
117 Instantiation* instantiation = 0);
140 template <
typename GUM_SCALAR >
142 const MultiDimImplementation< GUM_SCALAR* >* table,
143 Instantiation* instantiation = 0);
172 template <
typename GUM_SCALAR >
174 Instantiation* instantiation = 0);
197 template <
typename GUM_SCALAR >
200 Instantiation* instantiation = 0);
223 template <
typename GUM_SCALAR >
226 Instantiation* instantiation = 0);
249 template <
typename GUM_SCALAR >
251 const MultiDimImplementation< GUM_SCALAR* >* table,
252 Instantiation* instantiation = 0);
282 template <
typename GUM_SCALAR >
284 Instantiation* instantiation = 0);
308 template <
typename GUM_SCALAR >
311 Instantiation* instantiation = 0);
335 template <
typename GUM_SCALAR >
338 Instantiation* instantiation = 0);
362 template <
typename GUM_SCALAR >
364 const MultiDimImplementation< GUM_SCALAR* >* table,
365 Instantiation* instantiation = 0);
394 template <
typename GUM_SCALAR >
396 Instantiation* instantiation = 0);
419 template <
typename GUM_SCALAR >
422 Instantiation* instantiation = 0);
445 template <
typename GUM_SCALAR >
447 const MultiDimArray< GUM_SCALAR* >* table, Instantiation* instantiation = 0);
470 template <
typename GUM_SCALAR >
472 const MultiDimImplementation< GUM_SCALAR* >* table,
473 Instantiation* instantiation = 0);
478 template <
typename GUM_SCALAR >
479 GUM_SCALAR
projectMax(
const MultiDimImplementation< GUM_SCALAR >& table,
480 Instantiation* instantiation = 0);
483 template <
typename GUM_SCALAR >
484 GUM_SCALAR
projectMin(
const MultiDimImplementation< GUM_SCALAR >& table,
485 Instantiation* instantiation = 0);
488 template <
typename GUM_SCALAR >
489 GUM_SCALAR
projectSum(
const MultiDimImplementation< GUM_SCALAR >& table,
490 Instantiation* instantiation = 0);
494 template <
typename GUM_SCALAR >
495 GUM_SCALAR
projectProduct(
const MultiDimImplementation< GUM_SCALAR >& table,
496 Instantiation* instantiation = 0);
508 template <
typename GUM_SCALAR >
516 template <
typename GUM_SCALAR >
534 template <
typename GUM_SCALAR >
536 void init() { completeProjections4MultiDimInit< GUM_SCALAR >(); };
554 template <
typename GUM_SCALAR >
556 void init() { pointerCompleteProjections4MultiDimInit< GUM_SCALAR >(); };
GUM_SCALAR * projectMinMultiDimArray4Pointers(const MultiDimArray< GUM_SCALAR * > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Min operator.
GUM_SCALAR projectProduct(const MultiDimImplementation< GUM_SCALAR > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a Product
gum is the global namespace for all aGrUM entities
Headers of gum::MultiDimImplementation.
GUM_SCALAR projectMinMultiDimArray(const MultiDimArray< GUM_SCALAR > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Min operator.
GUM_SCALAR projectMaxMultiDimArray(const MultiDimArray< GUM_SCALAR > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Max operator.
GUM_SCALAR * projectMaxMultiDimArray4Pointers(const MultiDimArray< GUM_SCALAR * > *table, Instantiation *instantiation=0)
A specialized function for projecting a multiDimArray using a Max operator.
Efficient functionals for projecting multidim tables over all their variables.
Header files of gum::Instantiation.
void completeProjections4MultiDimInit()
the function used to register all the complete projection operators on multidimImplementations over n...
GUM_SCALAR projectProductMultiDimArray(const MultiDimArray< GUM_SCALAR > *table, Instantiation *instantiation=0)
a function for projecting a multiDimArray using a Product operatorThe function projects a table over ...
GUM_SCALAR projectSum(const MultiDimImplementation< GUM_SCALAR > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a sum
void pointerCompleteProjections4MultiDimInit()
The function used to register all the complete projections on multidimImplementations over pointers t...
GUM_SCALAR projectSumMultiDimArray(const MultiDimArray< GUM_SCALAR > *table, Instantiation *instantiation=0)
a specialized function for projecting a multiDimArray using a Sum operatorThe function projects a tab...
GUM_SCALAR projectMin(const MultiDimImplementation< GUM_SCALAR > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a Min
GUM_SCALAR projectMax(const MultiDimImplementation< GUM_SCALAR > &table, Instantiation *instantiation=0)
the function to be used to project a MultiDimImplementation using a Max
GUM_SCALAR * projectProductMultiDimArray4Pointers(const MultiDimArray< GUM_SCALAR * > *table, Instantiation *instantiation=0)
a function for projecting a multiDimArray using a Product operatorThe function projects a table over ...
GUM_SCALAR * projectSumMultiDimArray4Pointers(const MultiDimArray< GUM_SCALAR * > *table, Instantiation *instantiation=0)
a specialized function for projecting a multiDimArray using a Sum operatorThe function projects a tab...
Header of the MultiDimArray class.
a class used to register complete projections over non-pointers typesThis class is of course complete...