10 #ifndef SFCSORTBENCH_MATHUTILS_H 11 #define SFCSORTBENCH_MATHUTILS_H 27 T normL2(T * vec1,T* vec2,
unsigned int n,MPI_Comm comm);
38 T normLInfty(T *vec1, T *vec2,
unsigned int n, MPI_Comm comm);
49 T normLInfty(T *vec1, T *vec2,
unsigned int n);
61 T normL2(T * vec,
unsigned int n, MPI_Comm comm);
72 T normL2(T * vec1,T* vec2,
unsigned int n);
81 T normL2(T * vec,
unsigned int n);
91 T normLInfty(T * vec,
unsigned int n);
101 template <
typename T>
102 T normLInfty(T * vec,
unsigned int n,MPI_Comm comm);
110 template <
typename T>
111 T vecMin(T * vec,
unsigned int n);
120 template <
typename T>
121 T vecMax(T * vec,
unsigned int n);
130 template <
typename T>
131 T vecMin(T * vec,
unsigned int n,MPI_Comm comm);
140 template <
typename T>
141 T vecMax(T * vec,
unsigned int n,MPI_Comm comm);
149 template <
typename T>
150 T dot(
const T* v1,
const T*v2,
const unsigned int n);
159 template <
typename T>
160 T dot(
const T* v1,
const T*v2,
const unsigned int n,MPI_Comm comm);
172 void mul(
const T alpha,
const T* v,
const unsigned int n, T* out);
182 template <
typename T>
183 T add(
const T* v1,
const T*v2,
const unsigned int n, T* out);
192 template <
typename T>
193 T subt(
const T* v1,
const T*v2,
const unsigned int n, T* out);
196 void kron(
const T* M1,
const T* M2, T* out,
unsigned int r1,
unsigned int c1,
unsigned int r2,
unsigned int c2);
201 #include "mathUtils.tcc" 204 #endif //SFCSORTBENCH_MATHUTILS_H A set of parallel utilities.