📄 a.12.1.c
字号:
/* { dg-do compile } */#include <stdio.h>extern float average (float, float, float);voida12 (float *x, float *xold, int n, float tol){ int c, i, toobig; float error, y; c = 0;#pragma omp parallel { do {#pragma omp for private(i) for (i = 1; i < n - 1; ++i) { xold[i] = x[i]; }#pragma omp single { toobig = 0; }#pragma omp for private(i,y,error) reduction(+:toobig) for (i = 1; i < n - 1; ++i) { y = x[i]; x[i] = average (xold[i - 1], x[i], xold[i + 1]); error = y - x[i]; if (error > tol || error < -tol) ++toobig; }#pragma omp master { ++c; printf ("iteration %d, toobig=%d\n", c, toobig); } } while (toobig > 0); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -