gesamt: paramcheck und instr update
authorBernhard Urban <lewurm@gmail.com>
Mon, 7 Jun 2010 11:20:32 +0000 (13:20 +0200)
committerBernhard Urban <lewurm@gmail.com>
Mon, 7 Jun 2010 11:20:32 +0000 (13:20 +0200)
19 files changed:
gesamt/georg_fib_101.instr
gesamt/georg_fib_102.instr
gesamt/georg_fib_121.instr
gesamt/georg_fib_122.instr
gesamt/intelli_00.instr
gesamt/intelli_01.instr
gesamt/intelli_02.instr
gesamt/intelli_03.call
gesamt/lewurm_00.instr
gesamt/lewurm_01.instr
gesamt/lewurm_02.instr
gesamt/lewurm_03.instr
gesamt/lewurm_04.instr
gesamt/lewurm_05.0 [new file with mode: 0644]
gesamt/lewurm_05.call [new file with mode: 0644]
gesamt/lewurm_05.instr [new file with mode: 0644]
gesamt/lewurm_06.0 [new file with mode: 0644]
gesamt/lewurm_06.call [new file with mode: 0644]
gesamt/lewurm_06.instr [new file with mode: 0644]

index bb06e56dd285c3e17175ce6eaec0e65fecdbd482..328e4ce676d2b89277cf2e33784d93bc09ee8c35 100644 (file)
@@ -1 +1 @@
-4134
+3694
index bb06e56dd285c3e17175ce6eaec0e65fecdbd482..328e4ce676d2b89277cf2e33784d93bc09ee8c35 100644 (file)
@@ -1 +1 @@
-4134
+3694
index 7b690e22d7d1f4ceb2a8ac9e74af2639d9e1ca77..bb06e56dd285c3e17175ce6eaec0e65fecdbd482 100644 (file)
@@ -1 +1 @@
-4574
+4134
index 7b690e22d7d1f4ceb2a8ac9e74af2639d9e1ca77..bb06e56dd285c3e17175ce6eaec0e65fecdbd482 100644 (file)
@@ -1 +1 @@
-4574
+4134
index 2bd5a0a98a36cc08ada88b804d3be047e6aa5b8a..b6a7d89c68e0ca66e96a9a51892cc33db66fb8a3 100644 (file)
@@ -1 +1 @@
-22
+16
index dde92ddc1a594acd912b467305f36d9f26da45f3..fb1e7bc86996a80d4a16529b990adda1d3434c92 100644 (file)
@@ -1 +1 @@
-82
+54
index d69c74c8b95c8c0574cec707ab1a39d5926b9398..a8fa06e1be7da01425d2be19da24595de2fa02c2 100644 (file)
@@ -1 +1 @@
-73
+62
index 481b9a65ac19df18d401daf192737682c64b4aad..e18ae409a4a7e23346964608b72c1cdf4d32b65d 100644 (file)
@@ -2,9 +2,17 @@ extern long long m(long long* ar1, long long *ar2);
 
 long long z1[] = { 0, 2, 4, 6, 8, 10, 12 };
 long long z2[] = { 10, 20, 40, 60, 80, 100, 120 };
+int i;
+
+for(i=0; i < sizeof z1/sizeof z1[0]; i++) {
+       printf("z1[%i]: %ld, z2[%i]: %ld\n", i, z1[i], i, z2[i]);
+}
 
 long long ret = m(&z1[1], &z2[1]);
+printf("ret: %ld\n", ret);
 
-//printf("ret :%ld %ld %ld\n", ret, z1[1], z2[1]);
+for(i=0; i < sizeof z1/sizeof z1[0]; i++) {
+       printf("z1[%i]: %ld, z2[%i]: %ld\n", i, z1[i], i, z2[i]);
+}
 
 RET(ret == -16 && z1[0] == 0 && z2[0] == 10 && z1[1] == 4 && z1[2] == 6 && z1[3] == 8 && z1[4] == 10 && z1[5] == 10 && z1[6] == 12 && z2[1] == 23 && z2[2] == 43 && z2[3] == 63 && z2[4] == 83 && z2[5] == 100 && z2[6] == 120);
\ No newline at end of file
index b4de3947675361a7770d29b8982c407b0ec6b2a0..48082f72f087ce7e6fa75b9c41d7387daecd447b 100644 (file)
@@ -1 +1 @@
-11
+12
index a45fd52cc5891570d6299fab38643103c3955474..7273c0fa8c522b7eed7762a353d46f7768e9b6f2 100644 (file)
@@ -1 +1 @@
-24
+25
index e522732c77ec94723e739d22f28df549b0231f5f..a2720097dccb441015beb4f75766b9908ad46f5a 100644 (file)
@@ -1 +1 @@
-38
+39
index 8351c19397f4fcd5238d10034fa7fa384f14d580..60d3b2f4a4cd5f1637eba020358bfe5ecb5edcf2 100644 (file)
@@ -1 +1 @@
-14
+15
index 5bc6609e3d8512746dffd4a783cc4b428dfe5dc7..52bd8e43afb01d0c9747f1fedf2fc94684ee4cc4 100644 (file)
@@ -1 +1 @@
-117
+120
diff --git a/gesamt/lewurm_05.0 b/gesamt/lewurm_05.0
new file mode 100644 (file)
index 0000000..125197b
--- /dev/null
@@ -0,0 +1,31 @@
+method fa(a b c d)
+       return g(a, b, c, d);
+end;
+method fa_(a b c d)
+       return g(a, b, c, d,);
+end;
+
+method fb(a b c d)
+       return g(b, c, d, a);
+end;
+method fb_(a b c d)
+       return g(b, c, d, a,);
+end;
+
+method fc(a b c d)
+       return g(c, d, a, b);
+end;
+method fc_(a b c d)
+       return g(c, d, a, b,);
+end;
+
+method fd(a b c d)
+       return g(d, a, b, c);
+end;
+method fd_(a b c d)
+       return g(d, a, b, c,);
+end;
+
+method g(a b c d)
+       return a;
+end;
diff --git a/gesamt/lewurm_05.call b/gesamt/lewurm_05.call
new file mode 100644 (file)
index 0000000..0db317d
--- /dev/null
@@ -0,0 +1,21 @@
+long fa (long, long, long, long, long);
+long fa_(long, long, long, long, long);
+long fb (long, long, long, long, long);
+long fb_(long, long, long, long, long);
+long fc (long, long, long, long, long);
+long fc_(long, long, long, long, long);
+long fd (long, long, long, long, long);
+long fd_(long, long, long, long, long);
+
+long (*fp[])(long, long, long, long, long) = {fa, fa_, fb, fb_, fc, fc_, fd, fd_};
+char st[sizeof fp/sizeof fp[0]][4] = {"fa ", "fa_", "fb ", "fb_", "fc ", "fc_", "fd ", "fd_"};
+
+#define PAR(a) ((a-'a'+1)*10)
+int i, t, r = 1;
+
+for(i=0; i < sizeof fp/sizeof fp[0]; i++) {
+       t = fp[i](0xdead, PAR('a'), PAR('b'), PAR('c'), PAR('d'));
+       printf("returnwert von %s() ist %3i (erwartet: %3i)\n", st[i], t, PAR(st[i][1]));
+       r = r && (t==PAR(st[i][1]));
+}
+RET(r);
diff --git a/gesamt/lewurm_05.instr b/gesamt/lewurm_05.instr
new file mode 100644 (file)
index 0000000..de8febe
--- /dev/null
@@ -0,0 +1 @@
+168
diff --git a/gesamt/lewurm_06.0 b/gesamt/lewurm_06.0
new file mode 100644 (file)
index 0000000..4f6220a
--- /dev/null
@@ -0,0 +1,7 @@
+method f()
+       return (this-1).g(this-5, this-10);
+end;
+
+method g(a b)
+       return this-a-b;
+end;
diff --git a/gesamt/lewurm_06.call b/gesamt/lewurm_06.call
new file mode 100644 (file)
index 0000000..e65a81c
--- /dev/null
@@ -0,0 +1,13 @@
+long f(long);
+long g(long, long, long);
+#define ERG(a) ((a-1)-(a-5)-(a-10))
+#define ARG1 -10
+#define ARG2 1333157
+#define ARG3 -35981341
+int ret1 = f(ARG1);
+int ret2 = f(ARG2);
+int ret3 = f(ARG3);
+printf("ret1 ist %8i (sollte %8i sein)\n", ret1, ERG(ARG1));
+printf("ret2 ist %8i (sollte %8i sein)\n", ret2, ERG(ARG2));
+printf("ret3 ist %8i (sollte %8i sein)\n", ret3, ERG(ARG3));
+RET(ret1 == ERG(ARG1) && ret2 == ERG(ARG2) && ret3 == ERG(ARG3));
diff --git a/gesamt/lewurm_06.instr b/gesamt/lewurm_06.instr
new file mode 100644 (file)
index 0000000..d88e313
--- /dev/null
@@ -0,0 +1 @@
+81