38 #ifndef PRAGMATICMINIS_H
39 #define PRAGMATICMINIS_H
52 return omp_get_max_threads();
60 return omp_get_thread_num();
68 MPI_Comm_size(comm, &nprocesses);
74 MPI_Comm_rank(comm, &
id);
104 "casx [%1], %%g1, %0;"
106 "bne,pn %%xcc, retry;"
109 :
"p"(shared),
"r"(inc)
112 #elif _OPENMP >= 201107
113 #pragma omp atomic capture
119 old = __sync_fetch_and_add(shared, inc);
127 return p1.first.first < p2.first.first;
130 return p1.first.second <= p2.first.second;
133 #define pragmatic_isnormal std::isnormal
134 #define pragmatic_isnan std::isnan
int pragmatic_process_id(MPI_Comm comm)
bool pragmatic_range_element_comparator(range_element p1, range_element p2)
bool pragmatic_range_element_finder(range_element p1, range_element p2)
int pragmatic_thread_id()
size_t pragmatic_omp_atomic_capture(size_t *shared, size_t inc)
int pragmatic_nprocesses(MPI_Comm comm)
std::pair< std::pair< size_t, size_t >, int > range_element