summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pomp.h
diff options
context:
space:
mode:
author andreasnaive <andreasnaive@gmail.com>2019-03-25 22:44:58 +0100
committer andreasnaive <andreasnaive@gmail.com>2019-03-25 22:44:58 +0100
commitc24473ddff715ecec2e258a6eb38960cf8c8e98e (patch)
tree8ea44b6396a6129913c0aac13859b5de9965e972 /src/lib/netlist/plib/pomp.h
parent009cba4fb8102102168ef32870892438327f3705 (diff)
parent598cd5227223c3b04ca31f0dbc1981256d9ea3ff (diff)
conflict resolution (nw)
Diffstat (limited to 'src/lib/netlist/plib/pomp.h')
-rw-r--r--src/lib/netlist/plib/pomp.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/lib/netlist/plib/pomp.h b/src/lib/netlist/plib/pomp.h
index 6559207f09d..f8a516df485 100644
--- a/src/lib/netlist/plib/pomp.h
+++ b/src/lib/netlist/plib/pomp.h
@@ -11,6 +11,8 @@
#include "pconfig.h"
+#include <cstddef>
+
#if HAS_OPENMP
#include "omp.h"
#endif
@@ -18,29 +20,39 @@
namespace plib {
namespace omp {
-template <class T>
-void for_static(const int start, const int end, const T &what)
+template <typename I, class T>
+void for_static(const I start, const I end, const T &what)
{
#if HAS_OPENMP && USE_OPENMP
#pragma omp parallel
#endif
{
#if HAS_OPENMP && USE_OPENMP
- #pragma omp for schedule(static)
+ #pragma omp for //schedule(static)
#endif
- for (int i = start; i < end; i++)
+ for (I i = start; i < end; i++)
what(i);
}
}
-inline void set_num_threads(const int threads)
+template <typename I, class T>
+void for_static_np(const I start, const I end, const T &what)
+{
+ for (I i = start; i < end; i++)
+ what(i);
+}
+
+
+inline void set_num_threads(const std::size_t threads)
{
#if HAS_OPENMP && USE_OPENMP
omp_set_num_threads(threads);
+#else
+ plib::unused_var(threads);
#endif
}
-inline int get_max_threads()
+inline std::size_t get_max_threads()
{
#if HAS_OPENMP && USE_OPENMP
return omp_get_max_threads();
@@ -54,7 +66,7 @@ inline int get_max_threads()
// pdynlib: dynamic loading of libraries ...
// ----------------------------------------------------------------------------------------
-}
-}
+} // namespace omp
+} // namespace plib
#endif /* PSTRING_H_ */