ompUtils.hpp 845 B

1234567891011121314151617181920212223242526
  1. #ifndef _SCTL_OMP_UTILS_H_
  2. #define _SCTL_OMP_UTILS_H_
  3. #include <sctl/common.hpp>
  4. #include <iterator>
  5. namespace SCTL_NAMESPACE {
  6. namespace omp_par {
  7. 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);
  8. template <class T, class StrictWeakOrdering> void merge_sort(T A, T A_last, StrictWeakOrdering comp);
  9. template <class T> void merge_sort(T A, T A_last);
  10. template <class ConstIter, class Int> typename std::iterator_traits<ConstIter>::value_type reduce(ConstIter A, Int cnt);
  11. template <class ConstIter, class Iter, class Int> void scan(ConstIter A, Iter B, Int cnt);
  12. } // end namespace omp_par
  13. } // end namespace SCTL_NAMESPACE
  14. #include SCTL_INCLUDE(ompUtils.txx)
  15. #endif //_SCTL_OMP_UTILS_H_