30 #ifndef GUM_OPERATORS_4_MULTI_DIM_H 31 #define GUM_OPERATORS_4_MULTI_DIM_H 61 template <
typename T >
63 const MultiDimArray< T >* t2);
81 template <
typename T >
82 MultiDimImplementation< T >*
84 const MultiDimImplementation< T >* t2);
102 template <
typename T >
104 const MultiDimArray< T* >* t2);
122 template <
typename T >
123 MultiDimImplementation< T* >*
125 const MultiDimImplementation< T* >* t2);
143 template <
typename T >
144 MultiDimFunctionGraph< T >*
146 const MultiDimFunctionGraph< T >* t2);
164 template <
typename T >
165 MultiDimImplementation< T >*
167 const MultiDimImplementation< T >* t2);
191 template <
typename T >
193 const MultiDimArray< T >* t2);
211 template <
typename T >
212 MultiDimImplementation< T >*
214 const MultiDimImplementation< T >* t2);
232 template <
typename T >
235 const MultiDimArray< T* >* t2);
253 template <
typename T >
254 MultiDimImplementation< T* >*
256 const MultiDimImplementation< T* >* t2);
274 template <
typename T >
275 MultiDimFunctionGraph< T >*
277 const MultiDimFunctionGraph< T >* t2);
295 template <
typename T >
296 MultiDimImplementation< T >*
298 const MultiDimImplementation< T >* t2);
322 template <
typename T >
324 const MultiDimArray< T >* t2);
342 template <
typename T >
343 MultiDimImplementation< T >*
345 const MultiDimImplementation< T >* t2);
363 template <
typename T >
366 const MultiDimArray< T* >* t2);
384 template <
typename T >
385 MultiDimImplementation< T* >*
387 const MultiDimImplementation< T* >* t2);
405 template <
typename T >
406 MultiDimFunctionGraph< T >*
408 const MultiDimFunctionGraph< T >* t2);
426 template <
typename T >
427 MultiDimImplementation< T >*
429 const MultiDimImplementation< T >* t2);
453 template <
typename T >
455 const MultiDimArray< T >* t2);
473 template <
typename T >
474 MultiDimImplementation< T >*
476 const MultiDimImplementation< T >* t2);
494 template <
typename T >
497 const MultiDimArray< T* >* t2);
515 template <
typename T >
516 MultiDimImplementation< T* >*
518 const MultiDimImplementation< T* >* t2);
536 template <
typename T >
537 MultiDimFunctionGraph< T >*
539 const MultiDimFunctionGraph< T >* t2);
557 template <
typename T >
558 MultiDimImplementation< T >*
560 const MultiDimImplementation< T >* t2);
582 template <
typename T >
583 MultiDimFunctionGraph< T >*
585 const MultiDimFunctionGraph< T >* t2);
601 template <
typename T >
602 MultiDimImplementation< T >*
604 const MultiDimImplementation< T >* t2);
614 template <
typename T >
615 MultiDimImplementation< T >*
operator+(
const MultiDimImplementation< T >&,
616 const MultiDimImplementation< T >&);
620 template <
typename T >
621 MultiDimImplementation< T >*
operator-(
const MultiDimImplementation< T >&,
622 const MultiDimImplementation< T >&);
626 template <
typename T >
627 MultiDimImplementation< T >*
operator*(
const MultiDimImplementation< T >&,
628 const MultiDimImplementation< T >&);
632 template <
typename T >
633 MultiDimImplementation< T >*
operator/(
const MultiDimImplementation< T >&,
634 const MultiDimImplementation< T >&);
648 template <
typename GUM_SCALAR >
656 template <
typename GUM_SCALAR >
673 template <
typename GUM_SCALAR >
675 void init() { operators4MultiDimInit< GUM_SCALAR >(); };
693 template <
typename GUM_SCALAR >
695 void init() { pointerOperators4MultiDimInit< GUM_SCALAR >(); };
MultiDimArray< T > * multiply2MultiDimArrays(const MultiDimArray< T > *t1, const MultiDimArray< T > *t2)
a specialized function for multiplying two multiDimArraysThe function produces a tensorial product of...
Formula operator+(const Formula &a, const Formula &b)
void operators4MultiDimInit()
the function used to register all the operators on multidimImplementations over non-pointers types...
MultiDimArray< T *> * divide2MultiDimArrays4Pointers(const MultiDimArray< T * > *t1, const MultiDimArray< T * > *t2)
a specialized function for dividing two multiDimArraysThe function produces a tensorial division of t...
MultiDimArray< T *> * add2MultiDimArrays4Pointers(const MultiDimArray< T * > *t1, const MultiDimArray< T * > *t2)
a specialized function for summing two multiDimArraysThe function produces a tensorial addition of t1...
MultiDimFunctionGraph< T > * subtract2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for subtracting two multiDimArraysThe function produces a tensorial subtractio...
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.
a class used to register operators over non-pointers typesThis class is of course completely redundan...
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
MultiDimArray< T *> * subtract2MultiDimArrays4Pointers(const MultiDimArray< T * > *t1, const MultiDimArray< T * > *t2)
a specialized function for subtracting two multiDimArraysThe function produces a tensorial subtractio...
MultiDimArray< T *> * multiply2MultiDimArrays4Pointers(const MultiDimArray< T * > *t1, const MultiDimArray< T * > *t2)
a specialized function for multiplying two multiDimArraysThe function produces a tensorial product of...
void pointerOperators4MultiDimInit()
the function used to register all the operators on multidimImplementations over pointers types...
Formula operator/(const Formula &a, const Formula &b)
MultiDimFunctionGraph< T > * multiply2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for multiplying two multiDimArraysThe function produces a tensorial product of...
Formula operator*(const Formula &a, const Formula &b)
ListConstIterator< Val >::difference_type operator-(const ListConstIterator< Val > &iter1, const ListConstIterator< Val > &iter2)
For STL compliance, a distance operator.
MultiDimArray< T > * add2MultiDimArrays(const MultiDimArray< T > *t1, const MultiDimArray< T > *t2)
a specialized function for summing two multiDimArraysThe function produces a tensorial addition of t1...
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
MultiDimArray< T > * subtract2MultiDimArrays(const MultiDimArray< T > *t1, const MultiDimArray< T > *t2)
a specialized function for subtracting two multiDimArraysThe function produces a tensorial subtractio...
MultiDimFunctionGraph< T > * add2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for summing two multiDimArraysThe function produces a tensorial addition of t1...
MultiDimFunctionGraph< T > * divide2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for dividing two multiDimArraysThe function produces a tensorial division of t...
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
MultiDimFunctionGraph< T > * maximise2MultiDimFunctionGraphs(const MultiDimFunctionGraph< T > *t1, const MultiDimFunctionGraph< T > *t2)
a specialized function for compare value from two multiDimFunctionGraphs and gets the maximalThe func...
MultiDimArray< T > * divide2MultiDimArrays(const MultiDimArray< T > *t1, const MultiDimArray< T > *t2)
a specialized function for dividing two multiDimArraysThe function produces a tensorial division of t...
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.