From 927e288254e6208e1a1a303aa215bde737e3374b Mon Sep 17 00:00:00 2001 From: MrStrcmp Date: Mon, 17 May 2010 01:35:55 +0200 Subject: [PATCH] various new testcases --- codea/mrstrcmp_00.0 | 8 ++++++ codea/mrstrcmp_00.call | 6 +++++ codea/mrstrcmp_00.instr | 1 + codea/mrstrcmp_01.0 | 8 ++++++ codea/mrstrcmp_01.call | 6 +++++ codea/mrstrcmp_01.instr | 1 + codea/mrstrcmp_02.0 | 8 ++++++ codea/mrstrcmp_02.call | 6 +++++ codea/mrstrcmp_02.instr | 1 + codea/mrstrcmp_03.0 | 8 ++++++ codea/mrstrcmp_03.call | 6 +++++ codea/mrstrcmp_03.instr | 1 + codea/mrstrcmp_04.0 | 8 ++++++ codea/mrstrcmp_04.call | 6 +++++ codea/mrstrcmp_04.instr | 1 + codea/mrstrcmp_05.0 | 8 ++++++ codea/mrstrcmp_05.call | 6 +++++ codea/mrstrcmp_05.instr | 1 + codea/mrstrcmp_06.0 | 8 ++++++ codea/mrstrcmp_06.call | 6 +++++ codea/mrstrcmp_06.instr | 1 + codea/mrstrcmp_07.0 | 8 ++++++ codea/mrstrcmp_07.call | 6 +++++ codea/mrstrcmp_07.instr | 1 + codea/mrstrcmp_08.0 | 8 ++++++ codea/mrstrcmp_08.call | 6 +++++ codea/mrstrcmp_08.instr | 1 + codea/mrstrcmp_09.0 | 3 +++ codea/mrstrcmp_09.call | 4 +++ codea/mrstrcmp_09.instr | 1 + codea/mrstrcmp_10.0 | 3 +++ codea/mrstrcmp_10.call | 5 ++++ codea/mrstrcmp_10.instr | 1 + codea/mrstrcmp_11.0 | 3 +++ codea/mrstrcmp_11.call | 5 ++++ codea/mrstrcmp_11.instr | 1 + codea/mrstrcmp_12.0 | 3 +++ codea/mrstrcmp_12.call | 5 ++++ codea/mrstrcmp_12.instr | 1 + codea/mrstrcmp_13.0 | 19 ++++++++++++++ codea/mrstrcmp_13.call | 55 +++++++++++++++++++++++++++++++++++++++++ codea/mrstrcmp_13.instr | 1 + codea/mrstrcmp_14.0 | 19 ++++++++++++++ codea/mrstrcmp_14.call | 55 +++++++++++++++++++++++++++++++++++++++++ codea/mrstrcmp_14.instr | 1 + codea/mrstrcmp_15.0 | 3 +++ codea/mrstrcmp_15.call | 4 +++ codea/mrstrcmp_15.instr | 1 + codea/mrstrcmp_16.0 | 3 +++ codea/mrstrcmp_16.call | 7 ++++++ codea/mrstrcmp_16.instr | 1 + codea/mrstrcmp_17.0 | 16 ++++++++++++ codea/mrstrcmp_17.call | 18 ++++++++++++++ codea/mrstrcmp_17.instr | 1 + 54 files changed, 374 insertions(+) create mode 100644 codea/mrstrcmp_00.0 create mode 100644 codea/mrstrcmp_00.call create mode 100644 codea/mrstrcmp_00.instr create mode 100644 codea/mrstrcmp_01.0 create mode 100644 codea/mrstrcmp_01.call create mode 100644 codea/mrstrcmp_01.instr create mode 100644 codea/mrstrcmp_02.0 create mode 100644 codea/mrstrcmp_02.call create mode 100644 codea/mrstrcmp_02.instr create mode 100644 codea/mrstrcmp_03.0 create mode 100644 codea/mrstrcmp_03.call create mode 100644 codea/mrstrcmp_03.instr create mode 100644 codea/mrstrcmp_04.0 create mode 100644 codea/mrstrcmp_04.call create mode 100644 codea/mrstrcmp_04.instr create mode 100644 codea/mrstrcmp_05.0 create mode 100644 codea/mrstrcmp_05.call create mode 100644 codea/mrstrcmp_05.instr create mode 100644 codea/mrstrcmp_06.0 create mode 100644 codea/mrstrcmp_06.call create mode 100644 codea/mrstrcmp_06.instr create mode 100644 codea/mrstrcmp_07.0 create mode 100644 codea/mrstrcmp_07.call create mode 100644 codea/mrstrcmp_07.instr create mode 100644 codea/mrstrcmp_08.0 create mode 100644 codea/mrstrcmp_08.call create mode 100644 codea/mrstrcmp_08.instr create mode 100644 codea/mrstrcmp_09.0 create mode 100644 codea/mrstrcmp_09.call create mode 100644 codea/mrstrcmp_09.instr create mode 100644 codea/mrstrcmp_10.0 create mode 100644 codea/mrstrcmp_10.call create mode 100644 codea/mrstrcmp_10.instr create mode 100644 codea/mrstrcmp_11.0 create mode 100644 codea/mrstrcmp_11.call create mode 100644 codea/mrstrcmp_11.instr create mode 100644 codea/mrstrcmp_12.0 create mode 100644 codea/mrstrcmp_12.call create mode 100644 codea/mrstrcmp_12.instr create mode 100644 codea/mrstrcmp_13.0 create mode 100644 codea/mrstrcmp_13.call create mode 100644 codea/mrstrcmp_13.instr create mode 100644 codea/mrstrcmp_14.0 create mode 100644 codea/mrstrcmp_14.call create mode 100644 codea/mrstrcmp_14.instr create mode 100644 codea/mrstrcmp_15.0 create mode 100644 codea/mrstrcmp_15.call create mode 100644 codea/mrstrcmp_15.instr create mode 100644 codea/mrstrcmp_16.0 create mode 100644 codea/mrstrcmp_16.call create mode 100644 codea/mrstrcmp_16.instr create mode 100644 codea/mrstrcmp_17.0 create mode 100644 codea/mrstrcmp_17.call create mode 100644 codea/mrstrcmp_17.instr diff --git a/codea/mrstrcmp_00.0 b/codea/mrstrcmp_00.0 new file mode 100644 index 0000000..ce70add --- /dev/null +++ b/codea/mrstrcmp_00.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return u; +end; + diff --git a/codea/mrstrcmp_00.call b/codea/mrstrcmp_00.call new file mode 100644 index 0000000..95aa118 --- /dev/null +++ b/codea/mrstrcmp_00.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(v, NULL) == v[0]); + diff --git a/codea/mrstrcmp_00.instr b/codea/mrstrcmp_00.instr new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/codea/mrstrcmp_00.instr @@ -0,0 +1 @@ +2 diff --git a/codea/mrstrcmp_01.0 b/codea/mrstrcmp_01.0 new file mode 100644 index 0000000..6892b27 --- /dev/null +++ b/codea/mrstrcmp_01.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return this.u; +end; + diff --git a/codea/mrstrcmp_01.call b/codea/mrstrcmp_01.call new file mode 100644 index 0000000..95aa118 --- /dev/null +++ b/codea/mrstrcmp_01.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(v, NULL) == v[0]); + diff --git a/codea/mrstrcmp_01.instr b/codea/mrstrcmp_01.instr new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/codea/mrstrcmp_01.instr @@ -0,0 +1 @@ +2 diff --git a/codea/mrstrcmp_02.0 b/codea/mrstrcmp_02.0 new file mode 100644 index 0000000..1c4c7f2 --- /dev/null +++ b/codea/mrstrcmp_02.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return v; +end; + diff --git a/codea/mrstrcmp_02.call b/codea/mrstrcmp_02.call new file mode 100644 index 0000000..c57834a --- /dev/null +++ b/codea/mrstrcmp_02.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(v, NULL) == v[1]); + diff --git a/codea/mrstrcmp_02.instr b/codea/mrstrcmp_02.instr new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/codea/mrstrcmp_02.instr @@ -0,0 +1 @@ +2 diff --git a/codea/mrstrcmp_03.0 b/codea/mrstrcmp_03.0 new file mode 100644 index 0000000..ac311d3 --- /dev/null +++ b/codea/mrstrcmp_03.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return w; +end; + diff --git a/codea/mrstrcmp_03.call b/codea/mrstrcmp_03.call new file mode 100644 index 0000000..227a120 --- /dev/null +++ b/codea/mrstrcmp_03.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(v, NULL) == v[2]); + diff --git a/codea/mrstrcmp_03.instr b/codea/mrstrcmp_03.instr new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/codea/mrstrcmp_03.instr @@ -0,0 +1 @@ +4 diff --git a/codea/mrstrcmp_04.0 b/codea/mrstrcmp_04.0 new file mode 100644 index 0000000..c600cab --- /dev/null +++ b/codea/mrstrcmp_04.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return x; +end; + diff --git a/codea/mrstrcmp_04.call b/codea/mrstrcmp_04.call new file mode 100644 index 0000000..685043f --- /dev/null +++ b/codea/mrstrcmp_04.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(v, NULL) == v[3]); + diff --git a/codea/mrstrcmp_04.instr b/codea/mrstrcmp_04.instr new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/codea/mrstrcmp_04.instr @@ -0,0 +1 @@ +4 diff --git a/codea/mrstrcmp_05.0 b/codea/mrstrcmp_05.0 new file mode 100644 index 0000000..ad12c0b --- /dev/null +++ b/codea/mrstrcmp_05.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return this.x; +end; + diff --git a/codea/mrstrcmp_05.call b/codea/mrstrcmp_05.call new file mode 100644 index 0000000..685043f --- /dev/null +++ b/codea/mrstrcmp_05.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(v, NULL) == v[3]); + diff --git a/codea/mrstrcmp_05.instr b/codea/mrstrcmp_05.instr new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/codea/mrstrcmp_05.instr @@ -0,0 +1 @@ +4 diff --git a/codea/mrstrcmp_06.0 b/codea/mrstrcmp_06.0 new file mode 100644 index 0000000..112dc7a --- /dev/null +++ b/codea/mrstrcmp_06.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return a.v; +end; + diff --git a/codea/mrstrcmp_06.call b/codea/mrstrcmp_06.call new file mode 100644 index 0000000..fec17fd --- /dev/null +++ b/codea/mrstrcmp_06.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(NULL, v) == v[1]); + diff --git a/codea/mrstrcmp_06.instr b/codea/mrstrcmp_06.instr new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/codea/mrstrcmp_06.instr @@ -0,0 +1 @@ +2 diff --git a/codea/mrstrcmp_07.0 b/codea/mrstrcmp_07.0 new file mode 100644 index 0000000..59fefe2 --- /dev/null +++ b/codea/mrstrcmp_07.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return a.w; +end; + diff --git a/codea/mrstrcmp_07.call b/codea/mrstrcmp_07.call new file mode 100644 index 0000000..8b9f053 --- /dev/null +++ b/codea/mrstrcmp_07.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(NULL, v) == v[2]); + diff --git a/codea/mrstrcmp_07.instr b/codea/mrstrcmp_07.instr new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/codea/mrstrcmp_07.instr @@ -0,0 +1 @@ +4 diff --git a/codea/mrstrcmp_08.0 b/codea/mrstrcmp_08.0 new file mode 100644 index 0000000..63d2815 --- /dev/null +++ b/codea/mrstrcmp_08.0 @@ -0,0 +1,8 @@ +struct + u v w x y z +end; + +method f(a) + return (a - (-8 * 4) ).v; +end; + diff --git a/codea/mrstrcmp_08.call b/codea/mrstrcmp_08.call new file mode 100644 index 0000000..ee3ad06 --- /dev/null +++ b/codea/mrstrcmp_08.call @@ -0,0 +1,6 @@ +long f(long *, long *); + +long v[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; + +RET(f(NULL, v) == v[5]); + diff --git a/codea/mrstrcmp_08.instr b/codea/mrstrcmp_08.instr new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/codea/mrstrcmp_08.instr @@ -0,0 +1 @@ +4 diff --git a/codea/mrstrcmp_09.0 b/codea/mrstrcmp_09.0 new file mode 100644 index 0000000..cc32430 --- /dev/null +++ b/codea/mrstrcmp_09.0 @@ -0,0 +1,3 @@ +method f(a b) + return a - b; +end; diff --git a/codea/mrstrcmp_09.call b/codea/mrstrcmp_09.call new file mode 100644 index 0000000..27d2e6f --- /dev/null +++ b/codea/mrstrcmp_09.call @@ -0,0 +1,4 @@ +long f(long, long, long); + +RET(f(0, 20, 10) == 10 && + f(0, 10, 20) == -10); diff --git a/codea/mrstrcmp_09.instr b/codea/mrstrcmp_09.instr new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/codea/mrstrcmp_09.instr @@ -0,0 +1 @@ +6 diff --git a/codea/mrstrcmp_10.0 b/codea/mrstrcmp_10.0 new file mode 100644 index 0000000..f01fa2b --- /dev/null +++ b/codea/mrstrcmp_10.0 @@ -0,0 +1,3 @@ +method f(a b) + return 20 - b; +end; diff --git a/codea/mrstrcmp_10.call b/codea/mrstrcmp_10.call new file mode 100644 index 0000000..0b6c75e --- /dev/null +++ b/codea/mrstrcmp_10.call @@ -0,0 +1,5 @@ +long f(long, long, long); + +RET(f(0, 0, 10) == 10 && + f(0, 0, 20) == 0 && + f(0, 0, 30) == -10); diff --git a/codea/mrstrcmp_10.instr b/codea/mrstrcmp_10.instr new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/codea/mrstrcmp_10.instr @@ -0,0 +1 @@ +9 diff --git a/codea/mrstrcmp_11.0 b/codea/mrstrcmp_11.0 new file mode 100644 index 0000000..0beb6dc --- /dev/null +++ b/codea/mrstrcmp_11.0 @@ -0,0 +1,3 @@ +method f(a b) + return b - 20; +end; diff --git a/codea/mrstrcmp_11.call b/codea/mrstrcmp_11.call new file mode 100644 index 0000000..995bbed --- /dev/null +++ b/codea/mrstrcmp_11.call @@ -0,0 +1,5 @@ +long f(long, long, long); + +RET(f(0, 0, 10) == -10 && + f(0, 0, 20) == 0 && + f(0, 0, 30) == 10); diff --git a/codea/mrstrcmp_11.instr b/codea/mrstrcmp_11.instr new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/codea/mrstrcmp_11.instr @@ -0,0 +1 @@ +9 diff --git a/codea/mrstrcmp_12.0 b/codea/mrstrcmp_12.0 new file mode 100644 index 0000000..3104add --- /dev/null +++ b/codea/mrstrcmp_12.0 @@ -0,0 +1,3 @@ +method f(a b) + return a - (10 - b) - 20; +end; diff --git a/codea/mrstrcmp_12.call b/codea/mrstrcmp_12.call new file mode 100644 index 0000000..ff29661 --- /dev/null +++ b/codea/mrstrcmp_12.call @@ -0,0 +1,5 @@ +long f(long, long, long); + +RET(f(0, 10, 20) == (10 - (10 - 20) - 20) && + f(0, 40, 20) == (40 - (10 - 20) - 20) && + f(0, 0, 30) == ( 0 - (10 - 30) - 20)); diff --git a/codea/mrstrcmp_12.instr b/codea/mrstrcmp_12.instr new file mode 100644 index 0000000..3c03207 --- /dev/null +++ b/codea/mrstrcmp_12.instr @@ -0,0 +1 @@ +18 diff --git a/codea/mrstrcmp_13.0 b/codea/mrstrcmp_13.0 new file mode 100644 index 0000000..84dfd8c --- /dev/null +++ b/codea/mrstrcmp_13.0 @@ -0,0 +1,19 @@ +method f1(a b) + return a - (-1 * b); +end; + +method f2(a b) + return a - (-2 * b); +end; + +method f4(a b) + return a - (-4 * b); +end; + +method f8(a b) + return a - (-8 * b); +end; + +method f(a b c d) + return a - (-8 * (b - (-4 * (c - (-2 * d))))); +end; diff --git a/codea/mrstrcmp_13.call b/codea/mrstrcmp_13.call new file mode 100644 index 0000000..91ca672 --- /dev/null +++ b/codea/mrstrcmp_13.call @@ -0,0 +1,55 @@ +#define F1(a,b) ((long)(a) - (-1UL * (long)(b))) +#define F2(a,b) ((long)(a) - (-2UL * (long)(b))) +#define F4(a,b) ((long)(a) - (-4UL * (long)(b))) +#define F8(a,b) ((long)(a) - (-8UL * (long)(b))) +#define F(a,b,c,d) ((long)(a) - (-8UL * ((long)(b) - (-4UL * ((long)(c) - (-2UL * (long)(d))))))) + +long f1(long, long, long); +long f2(long, long, long); +long f4(long, long, long); +long f8(long, long, long); +long f(long, long, long, long, long); + +RET(f1(0, 3, 20) == F1( 3, 20) && + f1(0, -100, 80) == F1(-100, 80) && + f1(0, 50, -9) == F1( 50, -9) && + f1(0, -77, -50) == F1( -77, -50) && + + f2(0, 3, 20) == F2( 3, 20) && + f2(0, -100, 80) == F2(-100, 80) && + f2(0, 50, -9) == F2( 50, -9) && + f2(0, -77, -50) == F2( -77, -50) && + + f4(0, 3, 20) == F4( 3, 20) && + f4(0, -100, 80) == F4(-100, 80) && + f4(0, 50, -9) == F4( 50, -9) && + f4(0, -77, -50) == F4( -77, -50) && + + f8(0, 3, 20) == F8( 3, 20) && + f8(0, -100, 80) == F8(-100, 80) && + f8(0, 50, -9) == F8( 50, -9) && + f8(0, -77, -50) == F8( -77, -50) && + + f(0, 10, 20, 30, 40) == F( 10, 20, 30, 40) && + f(0, -10, 20, -30, 40) == F(-10, 20, -30, 40) && + f(0, 10, -20, 30, -40) == F( 10, -20, 30, -40) && + f(0, -10, -20, -30, -40) == F(-10, -20, -30, -40) && + + f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + f4(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F4(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + f8(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F8(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + + f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) && + f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) && + f4(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F4(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) && + f8(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F8(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)); + diff --git a/codea/mrstrcmp_13.instr b/codea/mrstrcmp_13.instr new file mode 100644 index 0000000..900731f --- /dev/null +++ b/codea/mrstrcmp_13.instr @@ -0,0 +1 @@ +64 diff --git a/codea/mrstrcmp_14.0 b/codea/mrstrcmp_14.0 new file mode 100644 index 0000000..0d0c4d5 --- /dev/null +++ b/codea/mrstrcmp_14.0 @@ -0,0 +1,19 @@ +method f1(a b) + return a - (b * -1); +end; + +method f2(a b) + return a - (b * -2); +end; + +method f4(a b) + return a - (b * -4); +end; + +method f8(a b) + return a - (b * -8); +end; + +method f(a b c d) + return a - ((b - ((c - (d * -2)) * -4)) * -8); +end; diff --git a/codea/mrstrcmp_14.call b/codea/mrstrcmp_14.call new file mode 100644 index 0000000..91ca672 --- /dev/null +++ b/codea/mrstrcmp_14.call @@ -0,0 +1,55 @@ +#define F1(a,b) ((long)(a) - (-1UL * (long)(b))) +#define F2(a,b) ((long)(a) - (-2UL * (long)(b))) +#define F4(a,b) ((long)(a) - (-4UL * (long)(b))) +#define F8(a,b) ((long)(a) - (-8UL * (long)(b))) +#define F(a,b,c,d) ((long)(a) - (-8UL * ((long)(b) - (-4UL * ((long)(c) - (-2UL * (long)(d))))))) + +long f1(long, long, long); +long f2(long, long, long); +long f4(long, long, long); +long f8(long, long, long); +long f(long, long, long, long, long); + +RET(f1(0, 3, 20) == F1( 3, 20) && + f1(0, -100, 80) == F1(-100, 80) && + f1(0, 50, -9) == F1( 50, -9) && + f1(0, -77, -50) == F1( -77, -50) && + + f2(0, 3, 20) == F2( 3, 20) && + f2(0, -100, 80) == F2(-100, 80) && + f2(0, 50, -9) == F2( 50, -9) && + f2(0, -77, -50) == F2( -77, -50) && + + f4(0, 3, 20) == F4( 3, 20) && + f4(0, -100, 80) == F4(-100, 80) && + f4(0, 50, -9) == F4( 50, -9) && + f4(0, -77, -50) == F4( -77, -50) && + + f8(0, 3, 20) == F8( 3, 20) && + f8(0, -100, 80) == F8(-100, 80) && + f8(0, 50, -9) == F8( 50, -9) && + f8(0, -77, -50) == F8( -77, -50) && + + f(0, 10, 20, 30, 40) == F( 10, 20, 30, 40) && + f(0, -10, 20, -30, 40) == F(-10, 20, -30, 40) && + f(0, 10, -20, 30, -40) == F( 10, -20, 30, -40) && + f(0, -10, -20, -30, -40) == F(-10, -20, -30, -40) && + + f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + f4(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F4(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + f8(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) == + F8(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) && + + f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) && + f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) && + f4(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F4(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) && + f8(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) == + F8(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)); + diff --git a/codea/mrstrcmp_14.instr b/codea/mrstrcmp_14.instr new file mode 100644 index 0000000..900731f --- /dev/null +++ b/codea/mrstrcmp_14.instr @@ -0,0 +1 @@ +64 diff --git a/codea/mrstrcmp_15.0 b/codea/mrstrcmp_15.0 new file mode 100644 index 0000000..f175bdc --- /dev/null +++ b/codea/mrstrcmp_15.0 @@ -0,0 +1,3 @@ +method f(a b) + return (a or 0x0A) or (0x50 or b); +end; diff --git a/codea/mrstrcmp_15.call b/codea/mrstrcmp_15.call new file mode 100644 index 0000000..f61301e --- /dev/null +++ b/codea/mrstrcmp_15.call @@ -0,0 +1,4 @@ +long f(long, long, long); + +RET(f(0, 0x00, 0x00) == 0x5A); + diff --git a/codea/mrstrcmp_15.instr b/codea/mrstrcmp_15.instr new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/codea/mrstrcmp_15.instr @@ -0,0 +1 @@ +6 diff --git a/codea/mrstrcmp_16.0 b/codea/mrstrcmp_16.0 new file mode 100644 index 0000000..ec04302 --- /dev/null +++ b/codea/mrstrcmp_16.0 @@ -0,0 +1,3 @@ +method f(a b) + return (a = 0x0A) = (0x50 = b); +end; diff --git a/codea/mrstrcmp_16.call b/codea/mrstrcmp_16.call new file mode 100644 index 0000000..723a087 --- /dev/null +++ b/codea/mrstrcmp_16.call @@ -0,0 +1,7 @@ +long f(long, long, long); + +RET(f(0, 0x00, 0x00) == 1 && + f(0, 0x0A, 0xFF) == 0 && + f(0, 0xFF, 0x50) == 0 && + f(0, 0x0A, 0x50) == 1); + diff --git a/codea/mrstrcmp_16.instr b/codea/mrstrcmp_16.instr new file mode 100644 index 0000000..425151f --- /dev/null +++ b/codea/mrstrcmp_16.instr @@ -0,0 +1 @@ +40 diff --git a/codea/mrstrcmp_17.0 b/codea/mrstrcmp_17.0 new file mode 100644 index 0000000..209c6f5 --- /dev/null +++ b/codea/mrstrcmp_17.0 @@ -0,0 +1,16 @@ +method f(a) + return (a < 0x0A); +end; + +method g(a) + return (0x0A < a); +end; + +method h() + return (0x0A < 0x09); +end; + +method i() + return (0x0A < 0x0B); +end; + diff --git a/codea/mrstrcmp_17.call b/codea/mrstrcmp_17.call new file mode 100644 index 0000000..df80c78 --- /dev/null +++ b/codea/mrstrcmp_17.call @@ -0,0 +1,18 @@ +long f(long, long); +long g(long, long); +long h(long); +long i(long); + +RET(f(0, 0x05) == 1 && + f(0, -0x05) == 1 && + f(0, 0x0A) == 0 && + f(0, 0x0B) == 0 && + + g(0, 0x05) == 0 && + g(0, -0x05) == 0 && + g(0, 0x0A) == 0 && + g(0, 0x0B) == 1 && + + h(0) == 0 && + i(0) == 1); + diff --git a/codea/mrstrcmp_17.instr b/codea/mrstrcmp_17.instr new file mode 100644 index 0000000..7facc89 --- /dev/null +++ b/codea/mrstrcmp_17.instr @@ -0,0 +1 @@ +36 -- 2.25.1