4 #define DO_PRAGMA(x) _Pragma (#x)
6 #define check_reduction_op(type, op, init, b, gwv_par, gwv_loop) \
10 DO_PRAGMA (acc parallel gwv_par copy (res)) \
11 DO_PRAGMA (acc loop gwv_loop reduction (op:res)) \
12 for (i = 0; i < n; i++) \
16 for (i = 0; i < n; i++) \
23 #define check_reduction_macro(type, op, init, b, gwv_par, gwv_loop) \
27 DO_PRAGMA (acc parallel gwv_par copy(res)) \
28 DO_PRAGMA (acc loop gwv_loop reduction (op:res)) \
29 for (i = 0; i < n; i++) \
30 res = op (res, (b)); \
33 for (i = 0; i < n; i++) \
34 vres = op (vres, (b)); \
40 #define max(a, b) (((a) > (b)) ? (a) : (b))
41 #define min(a, b) (((a) < (b)) ? (a) : (b))