1 #ifndef _OMP_UTILS_H_ 2 #define _OMP_UTILS_H_ 3 4 namespace omp_par { 5 6 template <class T,class StrictWeakOrdering> 7 void merge(T A_,T A_last,T B_,T B_last,T C_,int p,StrictWeakOrdering comp); 8 9 template <class T,class StrictWeakOrdering> 10 void merge_sort(T A,T A_last,StrictWeakOrdering comp); 11 12 template <class T> 13 void merge_sort(T A,T A_last); 14 15 template <class T> 16 void merge_sort_ptrs(T A,T A_last); 17 18 template <class T, class I> 19 T reduce(T* A, I cnt); 20 21 template <class T, class I> 22 void scan(T* A, T* B,I cnt); 23 24 } 25 26 #include "ompUtils.tcc" 27 28 #endif 29 30