8 static int ic, dc, xc, ac, cc;
13 B& operator=(const B &);
42 B& B::operator=(const B &)
70 #pragma omp parallel default(none) private(a, c) shared (n)
73 n = omp_get_num_threads ();
83 #pragma omp parallel default(none) firstprivate(a, c) shared(n)
86 n = omp_get_num_threads ();
96 #pragma omp parallel default(none) shared(n, a, c)
99 n = omp_get_num_threads ();
100 #pragma omp for lastprivate (a, c)
101 for (int i = 0; i < omp_get_num_threads (); i++)
113 #pragma omp parallel default(none) private (c) shared (n)
117 #pragma omp single copyprivate (c, e)
131 #pragma omp parallel default(none) private(a, c) shared (n)
134 n = omp_get_num_threads ();
146 #pragma omp parallel default(none) firstprivate(a, c) shared (n)
149 n = omp_get_num_threads ();
161 #pragma omp parallel default(none) shared(n, a, c)
164 n = omp_get_num_threads ();
165 #pragma omp for lastprivate (a, c)
166 for (int i = 0; i < omp_get_num_threads (); i++)
180 #pragma omp parallel default(none) private (c) shared (n)
184 #pragma omp single copyprivate (c, e)
204 assert (B::xc == 2*n && B::ic == 2*n+2 && B::dc == 2*n+2 && B::ac == 0 && B::cc == 0);
210 assert (B::xc == 2*n && B::ic == 2 && B::dc == 2*n+2 && B::ac == 0 && B::cc == 2*n);
216 assert (B::xc == 2*n && B::ic == 2*n+2 && B::dc == 2*n+2 && B::ac == 2 && B::cc == 0);
219 assert (B::xc == 2*n+2 && B::ic == 2*n+1 && B::dc == 2*n+1 && B::ac == 2*n-2 && B::cc == 0);
225 assert (B::xc == 4*n && B::ic == 4*n+4 && B::dc == 4*n+4 && B::ac == 0 && B::cc == 0);
231 assert (B::xc == 4*n && B::ic == 4 && B::dc == 4*n+4 && B::ac == 0 && B::cc == 4*n);
237 assert (B::xc == 4*n && B::ic == 4*n+4 && B::dc == 4*n+4 && B::ac == 4 && B::cc == 0);
240 assert (B::xc == 4*n+4 && B::ic == 4*n+2 && B::dc == 4*n+2 && B::ac == 4*n-4 && B::cc == 0);