aboutsummaryrefslogtreecommitdiff
path: root/tests/performance/14_sl3.sy
diff options
context:
space:
mode:
Diffstat (limited to 'tests/performance/14_sl3.sy')
-rw-r--r--tests/performance/14_sl3.sy60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/performance/14_sl3.sy b/tests/performance/14_sl3.sy
new file mode 100644
index 0000000..778f284
--- /dev/null
+++ b/tests/performance/14_sl3.sy
@@ -0,0 +1,60 @@
+int x[100][100][100];
+int y[100][100][100];
+
+int main()
+{
+ int i,j,k;
+ int f;
+ int N;
+
+ N = getint ();
+ f = getint ();
+
+ starttime();
+
+ i = 0;
+ j = 0;
+ k = 0;
+
+ while (i<N) {
+ j = 0;
+ k = 0;
+ while (j<N) {
+ k = 0;
+ while (k<N) {
+ x[i][j][k] = 1;
+ y[i][j][k] = 0;
+ k = k + 1;
+ }
+ j = j + 1;
+ }
+ i = i + 1;
+ }
+
+ i = 1;
+ j = 1;
+ k = 1;
+
+ while (i<N - 1) {
+ j = 1;
+ k = 1;
+ while (j<N - 1) {
+ k = 1;
+ while (k<N - 1) {
+ x[i][j][k] = ( x[i-1][j][k] + x[i+1][j][k] + x[i][j-1][k] +
+ x[i][j+1][k] + x[i][j][k-1] + x[i][j][k+1] ) / f;
+ k = k + 1;
+ }
+ j = j + 1;
+ }
+ i = i + 1;
+ }
+
+ stoptime();
+
+ putarray (N, x[0][0]);
+ putarray (N, x[N/2][N/2]);
+ putarray (N, x[i-1][j-1]);
+
+ return 0;
+}