7 long long int b
[7] = { 9, 11, 1, 1, 1, 13, 15 };
8 int e
[3] = { 5, 0, 5 };
9 int f
[5] = { 6, 7, 0, 0, 9 };
10 int g
[4] = { 1, 0, 0, 2 };
11 int h
[3] = { 0, 1, 4 };
12 int k
[4][2] = { { 5, 6 }, { 0, 0 }, { 0, 0 }, { 7, 8 } };
17 foo (int n
, int *c
, long long int *d
, int m
[3], int *r
, int o
[4], int *p
, int q
[4][2])
20 for (i
= 0; i
< 2; i
++)
21 #pragma omp task in_reduction (+: a, c[:2]) in_reduction (*: b[2 * n:3 * n], d[0:2]) \
22 in_reduction (+: o[n:n*2], m[1], k[1:2][:], p[0], f[2:2]) \
23 in_reduction (+: q[1:2][:], g[n:n*2], e[1], h[0], r[2:2]) \
24 in_reduction (*: s[1:2], t[2:2][:])
58 int p
[3] = { 0, 1, 4 };
59 int q
[4][2] = { { 5, 6 }, { 0, 0 }, { 0, 0 }, { 7, 8 } };
60 long long ss
[4] = { 5, 1, 1, 6 };
61 long long tt
[5][2] = { { 9, 10 }, { 11, 12 }, { 1, 1 }, { 1, 1 }, { 13, 14 } };
67 long long int d
[] = { 1, 1 };
68 int m
[3] = { 5, 0, 5 };
69 int r
[5] = { 6, 7, 0, 0, 9 };
70 int o
[4] = { 1, 0, 0, 2 };
71 #pragma omp taskgroup task_reduction (+: a, c) task_reduction (*: b[2 * n:3 * n], d) \
72 task_reduction (+: e[1], f[2:2], g[n:n*2], h[0], k[1:2][0:2]) \
73 task_reduction (+: o[n:n*2], m[1], q[1:2][:], p[0], r[2:2]) \
74 task_reduction (*: t[2:2][:], s[1:n + 1])
77 for (i
= 0; i
< 4; i
++)
78 #pragma omp task in_reduction (+: a, c) in_reduction (*: b[2 * n:3 * n], d) \
79 in_reduction (+: o[n:n*2], q[1:2][:], p[0], m[1], r[2:2]) \
80 in_reduction (+: g[n:n * 2], e[1], k[1:2][:], h[0], f[2:2]) \
81 in_reduction (*: s[1:2], t[2:2][:])
98 for (j
= 0; j
< 2; j
++)
99 #pragma omp task in_reduction (+: a, c[:2]) \
100 in_reduction (*: b[2 * n:3 * n], d[n - 1:n + 1]) \
101 in_reduction (+: e[1], f[2:2], g[n:n*2], h[0], k[1:2][:2]) \
102 in_reduction (+: m[1], r[2:2], o[n:n*2], p[0], q[1:2][:2]) \
103 in_reduction (*: s[n:2], t[2:2][:])
120 foo (n
, c
, d
, m
, r
, o
, p
, q
);
147 if (d
[0] != 1LL << (8 + 4)
150 || m
[1] != 19 * 16 + 6 * 8 + 16 * 4
154 || r
[2] != 21 * 16 + 7 * 8 + 8 * 4
155 || r
[3] != 23 * 16 + 18 * 8 + 8 * 4
158 || o
[1] != 25 * 16 + 29 * 8 + 9 * 4
159 || o
[2] != 27 * 16 + 18 * 8 + 10 * 4
163 if (a
[0] != 7 * 16 + 4 * 8 + 2 * 4
164 || a
[1] != 17 * 16 + 5 * 8 + 3 * 4
165 || b
[0] != 9 || b
[1] != 11
166 || b
[2] != 1LL << (16 + 4)
167 || b
[3] != 1LL << (8 + 4)
168 || b
[4] != 1LL << (16 + 8)
169 || b
[5] != 13 || b
[6] != 15
170 || c
[0] != 6 * 16 + 4 * 8 + 4 * 4
171 || c
[1] != 5 * 8 + 9 * 4
173 || e
[1] != 19 * 16 + 6 * 8 + 16 * 4
177 || f
[2] != 21 * 16 + 7 * 8 + 8 * 4
178 || f
[3] != 23 * 16 + 18 * 8 + 8 * 4
181 || g
[1] != 25 * 16 + 29 * 8 + 9 * 4
182 || g
[2] != 27 * 16 + 18 * 8 + 10 * 4
184 || h
[0] != 29 * 16 + 19 * 8 + 11 * 4
185 || h
[1] != 1 || h
[2] != 4
186 || k
[0][0] != 5 || k
[0][1] != 6
187 || k
[1][0] != 31 * 16 + 17 * 8
190 || k
[2][1] != 33 * 16 + 15 * 4
191 || k
[3][0] != 7 || k
[3][1] != 8
192 || p
[0] != 29 * 16 + 19 * 8 + 11 * 4
193 || p
[1] != 1 || p
[2] != 4
194 || q
[0][0] != 5 || q
[0][1] != 6
195 || q
[1][0] != 31 * 16 + 17 * 8
198 || q
[2][1] != 33 * 16 + 15 * 4
199 || q
[3][0] != 7 || q
[3][1] != 8
201 || ss
[1] != 1LL << (16 + 4)
204 || tt
[0][0] != 9 || tt
[0][1] != 10 || tt
[1][0] != 11 || tt
[1][1] != 12
205 || tt
[2][0] != 1LL << (16 + 8)
206 || tt
[2][1] != 1LL << 4
207 || tt
[3][0] != 1LL << 8
208 || tt
[3][1] != 1LL << (16 + 4)
209 || tt
[4][0] != 13 || tt
[4][1] != 14)