27 #ifndef GUM_OPERATORS_4_MULTI_DIM_H 28 #define GUM_OPERATORS_4_MULTI_DIM_H 58 template <
typename T >
60 const MultiDimArray< T >* t2);
78 template <
typename T >
79 MultiDimImplementation< T >*
81 const MultiDimImplementation< T >* t2);
99 template <
typename T >
101 const MultiDimArray< T* >* t2);
119 template <
typename T >
120 MultiDimImplementation< T* >*
122 const MultiDimImplementation< T* >* t2);
140 template <
typename T >
141 MultiDimFunctionGraph< T >*
143 const MultiDimFunctionGraph< T >* t2);
161 template <
typename T >
162 MultiDimImplementation< T >*
164 const MultiDimImplementation< T >* t2);
188 template <
typename T >
190 const MultiDimArray< T >* t2);
208 template <
typename T >
209 MultiDimImplementation< T >*
211 const MultiDimImplementation< T >* t2);
229 template <
typename T >
232 const MultiDimArray< T* >* t2);
250 template <
typename T >
251 MultiDimImplementation< T* >*
253 const MultiDimImplementation< T* >* t2);
271 template <
typename T >
272 MultiDimFunctionGraph< T >*
274 const MultiDimFunctionGraph< T >* t2);
292 template <
typename T >
293 MultiDimImplementation< T >*
295 const MultiDimImplementation< T >* t2);
319 template <
typename T >
321 const MultiDimArray< T >* t2);
339 template <
typename T >
340 MultiDimImplementation< T >*
342 const MultiDimImplementation< T >* t2);
360 template <
typename T >
363 const MultiDimArray< T* >* t2);
381 template <
typename T >
382 MultiDimImplementation< T* >*
384 const MultiDimImplementation< T* >* t2);
402 template <
typename T >
403 MultiDimFunctionGraph< T >*
405 const MultiDimFunctionGraph< T >* t2);
423 template <
typename T >
424 MultiDimImplementation< T >*
426 const MultiDimImplementation< T >* t2);
450 template <
typename T >
452 const MultiDimArray< T >* t2);
470 template <
typename T >
471 MultiDimImplementation< T >*
473 const MultiDimImplementation< T >* t2);
491 template <
typename T >
494 const MultiDimArray< T* >* t2);
512 template <
typename T >
513 MultiDimImplementation< T* >*
515 const MultiDimImplementation< T* >* t2);
533 template <
typename T >
534 MultiDimFunctionGraph< T >*
536 const MultiDimFunctionGraph< T >* t2);
554 template <
typename T >
555 MultiDimImplementation< T >*
557 const MultiDimImplementation< T >* t2);
579 template <
typename T >
580 MultiDimFunctionGraph< T >*
582 const MultiDimFunctionGraph< T >* t2);
598 template <
typename T >
599 MultiDimImplementation< T >*
601 const MultiDimImplementation< T >* t2);
611 template <
typename T >
612 MultiDimImplementation< T >*
operator+(
const MultiDimImplementation< T >&,
613 const MultiDimImplementation< T >&);
617 template <
typename T >
618 MultiDimImplementation< T >*
operator-(
const MultiDimImplementation< T >&,
619 const MultiDimImplementation< T >&);
623 template <
typename T >
624 MultiDimImplementation< T >*
operator*(
const MultiDimImplementation< T >&,
625 const MultiDimImplementation< T >&);
629 template <
typename T >
630 MultiDimImplementation< T >*
operator/(
const MultiDimImplementation< T >&,
631 const MultiDimImplementation< T >&);
645 template <
typename GUM_SCALAR >
653 template <
typename GUM_SCALAR >
670 template <
typename GUM_SCALAR >
672 void init() { operators4MultiDimInit< GUM_SCALAR >(); };
690 template <
typename GUM_SCALAR >
692 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...
Class used to compute response times for benchmark purposes.
gum is the global namespace for all aGrUM entities
a class used to register operators over non-pointers typesThis class is of course completely redundan...
Headers of gum::MultiDimImplementation.
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...
Headers of MultiDimFunctionGraph.
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...
Efficient functionals for combining multiDims.
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...
Header of the MultiDimArray class.