diff --git a/src/openmp.hpp b/src/openmp.hpp new file mode 100644 index 0000000..7ef2c76 --- /dev/null +++ b/src/openmp.hpp @@ -0,0 +1,44 @@ +#ifndef __CTOOL_OPENMP_HPP +#define __CTOOL_OPENMP_HPP + +#ifdef _OPENMP +#include +#endif + +namespace CosmoTool { + + static int smp_get_max_threads() { +#ifdef _OPENMP + return omp_get_max_threads(); +#else + return 1; +#endif + } + + static int smp_get_thread_id() { +#ifdef _OPENMP + return omp_get_thread_num(); +#else + return 0; +#endif + } + + static int smp_get_num_threads() { +#ifdef _OPENMP + return omp_get_num_threads(); +#else + return 1; +#endif + + } + + static void smp_set_nested(bool n) { +#ifdef _OPENMP + omp_set_nested(n ? 1 : 0); +#endif + } + + +}; + +#endif