From: Martin Perner Date: Tue, 8 Jun 2010 22:29:43 +0000 (+0200) Subject: [gesamt] Added two simples testcases X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=testub10.git;a=commitdiff_plain;h=034dd7c4389fc64072fafdc629cf8bdc4d3c0ce2 [gesamt] Added two simples testcases --- diff --git a/gesamt/skinner33_00.0 b/gesamt/skinner33_00.0 new file mode 100644 index 0000000..adf9ee9 --- /dev/null +++ b/gesamt/skinner33_00.0 @@ -0,0 +1,19 @@ +struct a end; + +method even() + if this.a = 0 then + return 0; + else + this.a := this.a - 1; + return odd(); + end; +end; + +method odd() + if 0 = this.a then + return 1; + else + this.a := this.a - 1; + return even(); + end; +end; diff --git a/gesamt/skinner33_00.call b/gesamt/skinner33_00.call new file mode 100644 index 0000000..dd2d363 --- /dev/null +++ b/gesamt/skinner33_00.call @@ -0,0 +1,6 @@ + +extern long even(long*); + +long a[] = {0}, b[] = {1}, c[] = {2}, d[] = {3}; + +RET(even(a) == 0 && even(b) == 1 && even(c) == 0 && even(d) == 1); diff --git a/gesamt/skinner33_00.instr b/gesamt/skinner33_00.instr new file mode 100644 index 0000000..ea70ce0 --- /dev/null +++ b/gesamt/skinner33_00.instr @@ -0,0 +1 @@ +72 diff --git a/gesamt/skinner33_01.0 b/gesamt/skinner33_01.0 new file mode 100644 index 0000000..69c51c6 --- /dev/null +++ b/gesamt/skinner33_01.0 @@ -0,0 +1,16 @@ + +method even(x) + if x = 0 then + return 0; + else + return odd(x-1); + end; +end; + +method odd(x) + if 0 = x then + return 1; + else + return even((x-1)); + end; +end; diff --git a/gesamt/skinner33_01.call b/gesamt/skinner33_01.call new file mode 100644 index 0000000..5af3034 --- /dev/null +++ b/gesamt/skinner33_01.call @@ -0,0 +1,4 @@ + +long even(long, long); + +RET(even(42,0) == 0 && even(42,1) == 1 && even(42,2) == 0 && even(42,3) == 1); diff --git a/gesamt/skinner33_01.instr b/gesamt/skinner33_01.instr new file mode 100644 index 0000000..871727d --- /dev/null +++ b/gesamt/skinner33_01.instr @@ -0,0 +1 @@ +84