| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #include <stdbool.h> |
| |
| typedef unsigned long long ull; |
| extern bool GOMP_loop_runtime_start (long, long, long, long *, long *); |
| extern bool GOMP_loop_runtime_next (long *, long *); |
| extern void GOMP_parallel_loop_runtime (void (*)(void *), void *, |
| unsigned, long, long, long, |
| unsigned); |
| extern bool GOMP_loop_ull_runtime_start (bool, ull, ull, ull, ull *, ull *); |
| extern bool GOMP_loop_ull_runtime_next (ull *, ull *); |
| extern bool GOMP_loop_dynamic_next (long *, long *); |
| extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *); |
| extern bool GOMP_loop_guided_next (long *, long *); |
| extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *); |
| extern bool GOMP_loop_ull_dynamic_next (ull *, ull *); |
| extern bool GOMP_loop_ull_dynamic_start (bool, ull, ull, ull, ull, ull *, |
| ull *); |
| extern bool GOMP_loop_ull_guided_next (ull *, ull *); |
| extern bool GOMP_loop_ull_guided_start (bool, ull, ull, ull, ull, ull *, |
| ull *); |
| extern void GOMP_parallel_loop_dynamic (void (*)(void *), void *, |
| unsigned, long, long, long, long, |
| unsigned); |
| extern void GOMP_parallel_loop_guided (void (*)(void *), void *, |
| unsigned, long, long, long, long, |
| unsigned); |
| #define alias(x, y) __typeof (x) y __attribute__((alias (#x))) |
| |
| #pragma GCC visibility push(hidden) |
| |
| bool |
| GOMP_loop_nonmonotonic_runtime_start (long start, long end, long incr, |
| long *istart, long *iend) |
| { |
| return GOMP_loop_runtime_start (start, end, incr, istart, iend); |
| } |
| alias (GOMP_loop_nonmonotonic_runtime_start, |
| GOMP_loop_maybe_nonmonotonic_runtime_start); |
| |
| bool |
| GOMP_loop_nonmonotonic_runtime_next (long *istart, long *iend) |
| { |
| return GOMP_loop_runtime_next (istart, iend); |
| } |
| alias (GOMP_loop_nonmonotonic_runtime_next, |
| GOMP_loop_maybe_nonmonotonic_runtime_next); |
| |
| void |
| GOMP_parallel_loop_nonmonotonic_runtime (void (*fn)(void *), void *data, |
| unsigned num_threads, long start, |
| long end, long incr, unsigned flags) |
| { |
| return GOMP_parallel_loop_runtime (fn, data, num_threads, start, |
| end, incr, flags); |
| } |
| alias (GOMP_parallel_loop_nonmonotonic_runtime, |
| GOMP_parallel_loop_maybe_nonmonotonic_runtime); |
| |
| bool |
| GOMP_loop_ull_nonmonotonic_runtime_start (bool up, ull start, ull end, |
| ull incr, ull *istart, ull *iend) |
| { |
| return GOMP_loop_ull_runtime_start (up, start, end, incr, istart, iend); |
| } |
| alias (GOMP_loop_ull_nonmonotonic_runtime_start, |
| GOMP_loop_ull_maybe_nonmonotonic_runtime_start); |
| |
| bool |
| GOMP_loop_ull_nonmonotonic_runtime_next (ull *istart, ull *iend) |
| { |
| return GOMP_loop_ull_runtime_next (istart, iend); |
| } |
| alias (GOMP_loop_ull_nonmonotonic_runtime_next, |
| GOMP_loop_ull_maybe_nonmonotonic_runtime_next); |
| |
| bool |
| GOMP_loop_nonmonotonic_dynamic_next (long *istart, long *iend) |
| { |
| return GOMP_loop_dynamic_next (istart, iend); |
| } |
| |
| bool |
| GOMP_loop_nonmonotonic_dynamic_start (long start, long end, long incr, |
| long chunk_size, long *istart, |
| long *iend) |
| { |
| return GOMP_loop_dynamic_start (start, end, incr, chunk_size, istart, iend); |
| } |
| |
| bool |
| GOMP_loop_nonmonotonic_guided_next (long *istart, long *iend) |
| { |
| return GOMP_loop_guided_next (istart, iend); |
| } |
| |
| bool |
| GOMP_loop_nonmonotonic_guided_start (long start, long end, long incr, |
| long chunk_size, long *istart, long *iend) |
| { |
| return GOMP_loop_guided_start (start, end, incr, chunk_size, istart, iend); |
| } |
| |
| bool |
| GOMP_loop_ull_nonmonotonic_dynamic_next (ull *istart, ull *iend) |
| { |
| return GOMP_loop_ull_dynamic_next (istart, iend); |
| } |
| |
| bool |
| GOMP_loop_ull_nonmonotonic_dynamic_start (bool up, ull start, |
| ull end, ull incr, |
| ull chunk_size, |
| ull *istart, ull *iend) |
| { |
| return GOMP_loop_ull_dynamic_start (up, start, end, incr, chunk_size, istart, |
| iend); |
| } |
| |
| bool |
| GOMP_loop_ull_nonmonotonic_guided_next (ull *istart, ull *iend) |
| { |
| return GOMP_loop_ull_guided_next (istart, iend); |
| } |
| |
| bool |
| GOMP_loop_ull_nonmonotonic_guided_start (bool up, ull start, ull end, |
| ull incr, ull chunk_size, |
| ull *istart, ull *iend) |
| { |
| return GOMP_loop_ull_guided_start (up, start, end, incr, chunk_size, istart, |
| iend); |
| } |
| |
| void |
| GOMP_parallel_loop_nonmonotonic_dynamic (void (*fn) (void *), void *data, |
| unsigned num_threads, long start, |
| long end, long incr, long chunk_size, |
| unsigned flags) |
| { |
| GOMP_parallel_loop_dynamic (fn, data, num_threads, start, end, incr, |
| chunk_size, flags); |
| } |
| |
| void |
| GOMP_parallel_loop_nonmonotonic_guided (void (*fn) (void *), void *data, |
| unsigned num_threads, long start, |
| long end, long incr, long chunk_size, |
| unsigned flags) |
| { |
| GOMP_parallel_loop_guided (fn, data, num_threads, start, end, incr, |
| chunk_size, flags); |
| } |
| |
| #pragma GCC visibility pop |