31 #ifndef GUM_COMPLETE_PROJECTIONS_4_MULTI_DIM_H 32 #define GUM_COMPLETE_PROJECTIONS_4_MULTI_DIM_H 66 template <
typename GUM_SCALAR >
68 Instantiation* instantiation = 0);
91 template <
typename GUM_SCALAR >
94 Instantiation* instantiation = 0);
117 template <
typename GUM_SCALAR >
120 Instantiation* instantiation = 0);
143 template <
typename GUM_SCALAR >
145 const MultiDimImplementation< GUM_SCALAR* >* table,
146 Instantiation* instantiation = 0);
175 template <
typename GUM_SCALAR >
177 Instantiation* instantiation = 0);
200 template <
typename GUM_SCALAR >
203 Instantiation* instantiation = 0);
226 template <
typename GUM_SCALAR >
229 Instantiation* instantiation = 0);
252 template <
typename GUM_SCALAR >
254 const MultiDimImplementation< GUM_SCALAR* >* table,
255 Instantiation* instantiation = 0);
285 template <
typename GUM_SCALAR >
287 Instantiation* instantiation = 0);
311 template <
typename GUM_SCALAR >
314 Instantiation* instantiation = 0);
338 template <
typename GUM_SCALAR >
341 Instantiation* instantiation = 0);
365 template <
typename GUM_SCALAR >
367 const MultiDimImplementation< GUM_SCALAR* >* table,
368 Instantiation* instantiation = 0);
397 template <
typename GUM_SCALAR >
399 Instantiation* instantiation = 0);
422 template <
typename GUM_SCALAR >
425 Instantiation* instantiation = 0);
448 template <
typename GUM_SCALAR >
450 const MultiDimArray< GUM_SCALAR* >* table, Instantiation* instantiation = 0);
473 template <
typename GUM_SCALAR >
475 const MultiDimImplementation< GUM_SCALAR* >* table,
476 Instantiation* instantiation = 0);
481 template <
typename GUM_SCALAR >
482 GUM_SCALAR
projectMax(
const MultiDimImplementation< GUM_SCALAR >& table,
483 Instantiation* instantiation = 0);
486 template <
typename GUM_SCALAR >
487 GUM_SCALAR
projectMin(
const MultiDimImplementation< GUM_SCALAR >& table,
488 Instantiation* instantiation = 0);
491 template <
typename GUM_SCALAR >
492 GUM_SCALAR
projectSum(
const MultiDimImplementation< GUM_SCALAR >& table,
493 Instantiation* instantiation = 0);
497 template <
typename GUM_SCALAR >
498 GUM_SCALAR
projectProduct(
const MultiDimImplementation< GUM_SCALAR >& table,
499 Instantiation* instantiation = 0);
511 template <
typename GUM_SCALAR >
519 template <
typename GUM_SCALAR >
537 template <
typename GUM_SCALAR >
539 void init() { completeProjections4MultiDimInit< GUM_SCALAR >(); };
557 template <
typename GUM_SCALAR >
559 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
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
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.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
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...
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
a class used to register complete projections over non-pointers typesThis class is of course complete...