ompUtils.hpp 796 B

123456789101112131415161718192021222324
  1. #ifndef _PVFMM_OMP_UTILS_H_
  2. #define _PVFMM_OMP_UTILS_H_
  3. #include <iterator>
  4. namespace pvfmm {
  5. namespace omp_par {
  6. template <class ConstIter, class Iter, class Int, class StrictWeakOrdering> void merge(ConstIter A_, ConstIter A_last, ConstIter B_, ConstIter B_last, Iter C_, Int p, StrictWeakOrdering comp);
  7. template <class T, class StrictWeakOrdering> void merge_sort(T A, T A_last, StrictWeakOrdering comp);
  8. template <class T> void merge_sort(T A, T A_last);
  9. template <class ConstIter, class Int> typename std::iterator_traits<ConstIter>::value_type reduce(ConstIter A, Int cnt);
  10. template <class ConstIter, class Iter, class Int> void scan(ConstIter A, Iter B, Int cnt);
  11. } // end namespace omp_par
  12. } // end namespace pvfmm
  13. #include "pvfmm/ompUtils.txx"
  14. #endif //_PVFMM_OMP_UTILS_H_