mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-03-22 02:31:28 +00:00
Test cases for -fcorrect-logic
This commit is contained in:
parent
d858237010
commit
949cd9bb06
5 changed files with 75 additions and 0 deletions
12
tests/correct-logic-1-s.tmpl
Normal file
12
tests/correct-logic-1-s.tmpl
Normal file
|
@ -0,0 +1,12 @@
|
|||
I: correct-logic.qc
|
||||
D: vector logic flags
|
||||
T: -execute
|
||||
C: -std=fteqcc -fshort-logic
|
||||
M: ! & | i N
|
||||
M: 0, 0 -> 1 0 0 0 1
|
||||
M: 0, x -> 1 0 1 0 1
|
||||
M: x, 0 -> 0 0 1 1 0
|
||||
M: x, x -> 0 1 1 1 0
|
||||
M: 0, y -> 1 0 0 0 1
|
||||
M: y, 0 -> 0 0 0 0 1
|
||||
M: y, y -> 0 0 0 0 1
|
12
tests/correct-logic-1.tmpl
Normal file
12
tests/correct-logic-1.tmpl
Normal file
|
@ -0,0 +1,12 @@
|
|||
I: correct-logic.qc
|
||||
D: vector logic flags
|
||||
T: -execute
|
||||
C: -std=fteqcc
|
||||
M: ! & | i N
|
||||
M: 0, 0 -> 1 0 0 0 1
|
||||
M: 0, x -> 1 0 1 0 1
|
||||
M: x, 0 -> 0 0 1 1 0
|
||||
M: x, x -> 0 1 1 1 0
|
||||
M: 0, y -> 1 0 0 0 1
|
||||
M: y, 0 -> 0 0 0 0 1
|
||||
M: y, y -> 0 0 0 0 1
|
12
tests/correct-logic-2-s.tmpl
Normal file
12
tests/correct-logic-2-s.tmpl
Normal file
|
@ -0,0 +1,12 @@
|
|||
I: correct-logic.qc
|
||||
D: vector logic flags
|
||||
T: -execute
|
||||
C: -std=fteqcc -fcorrect-logic -fshort-logic
|
||||
M: ! & | i N
|
||||
M: 0, 0 -> 1 0 0 0 1
|
||||
M: 0, x -> 1 0 1 0 1
|
||||
M: x, 0 -> 0 0 1 1 0
|
||||
M: x, x -> 0 1 1 1 0
|
||||
M: 0, y -> 1 0 1 0 1
|
||||
M: y, 0 -> 0 0 1 1 0
|
||||
M: y, y -> 0 1 1 1 0
|
12
tests/correct-logic-2.tmpl
Normal file
12
tests/correct-logic-2.tmpl
Normal file
|
@ -0,0 +1,12 @@
|
|||
I: correct-logic.qc
|
||||
D: vector logic flags
|
||||
T: -execute
|
||||
C: -std=fteqcc -fcorrect-logic
|
||||
M: ! & | i N
|
||||
M: 0, 0 -> 1 0 0 0 1
|
||||
M: 0, x -> 1 0 1 0 1
|
||||
M: x, 0 -> 0 0 1 1 0
|
||||
M: x, x -> 0 1 1 1 0
|
||||
M: 0, y -> 1 0 1 0 1
|
||||
M: y, 0 -> 0 0 1 1 0
|
||||
M: y, y -> 0 1 1 1 0
|
27
tests/correct-logic.qc
Normal file
27
tests/correct-logic.qc
Normal file
|
@ -0,0 +1,27 @@
|
|||
void print(...) = #1;
|
||||
string ftos (float) = #2;
|
||||
|
||||
float test_s_not (vector s) { return !s; }
|
||||
float test_s_and (vector s, vector t) { return s && t; }
|
||||
float test_s_or (vector s, vector t) { return s || t; }
|
||||
float test_s_if (vector s) { if (s) return 1; return 0; }
|
||||
float test_s_ifnot(vector s) { if not (s) return 1; return 0; }
|
||||
|
||||
void test(vector s, vector t) {
|
||||
print(ftos(!!test_s_not (s)), " ");
|
||||
print(ftos(!!test_s_and (s, t)), " ");
|
||||
print(ftos(!!test_s_or (s, t)), " ");
|
||||
print(ftos(!!test_s_if (s)), " ");
|
||||
print(ftos(!!test_s_ifnot(s)), "\n");
|
||||
}
|
||||
|
||||
void main() {
|
||||
print(" ! & | i N\n");
|
||||
print("0, 0 -> "); test('0 0 0', '0 0 0');
|
||||
print("0, x -> "); test('0 0 0', '1 0 0');
|
||||
print("x, 0 -> "); test('1 0 0', '0 0 0');
|
||||
print("x, x -> "); test('1 0 0', '1 0 0');
|
||||
print("0, y -> "); test('0 0 0', '0 1 0');
|
||||
print("y, 0 -> "); test('0 1 0', '0 0 0');
|
||||
print("y, y -> "); test('0 1 0', '0 1 0');
|
||||
}
|
Loading…
Reference in a new issue