X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=tests%2Foperators.qc;h=44c3d5103c71799a855f29128acf2da5e8c50bac;hp=1c23e7aa5dada59fc3ab6494fabbc165a9470f53;hb=7e0e041527e812a112635fe511fb1ad566b6c7fe;hpb=5867167a70c1fce8575b632aeefbd368051f0827 diff --git a/tests/operators.qc b/tests/operators.qc index 1c23e7a..44c3d51 100644 --- a/tests/operators.qc +++ b/tests/operators.qc @@ -1,42 +1,57 @@ -void print(...) = #1; -string ftos (float) = #2; -entity() spawn = #3; - .float mem; void main() { - float a; + float a; - // regular binary+store - a = 5; - print(ftos(a += 1), " = "); - print(ftos(a), "\n"); + // regular binary+store + a = 5; + print(ftos(a += 1), " = "); + print(ftos(a), "\n"); - entity e = spawn(); + entity e = spawn(); e.mem = 10; - print(ftos(e.mem += 1), " = "); - print(ftos(e.mem), "\n"); + print(ftos(e.mem += 1), " = "); + print(ftos(e.mem), "\n"); // prefix - print(ftos(++a), " = "); - print(ftos(a), "\n"); - print(ftos(--a), " = "); - print(ftos(a), "\n"); - print(ftos(++e.mem), " = "); - print(ftos(e.mem), "\n"); - - // suffix - print(ftos(a++), " = "); - print(ftos(a-1), "\n"); - // the CLANG way: - a = 3; - print(ftos((a++ + a) + a), " = 11\n"); - - // check if minus translates - print(ftos(a--), "\n"); - print(ftos(--a), "\n"); - - // postfix on members - print(ftos(e.mem--), " = "); - print(ftos(e.mem+1), "\n"); + print(ftos(++a), " = "); + print(ftos(a), "\n"); + print(ftos(--a), " = "); + print(ftos(a), "\n"); + print(ftos(++e.mem), " = "); + print(ftos(e.mem), "\n"); + + // suffix + print(ftos(a++), " = "); + print(ftos(a-1), "\n"); + // the CLANG way: + a = 3; + print(ftos((a++ + a) + a), " = 11\n"); + + // check if minus translates + print(ftos(a--), "\n"); + print(ftos(--a), "\n"); + + // postfix on members + print(ftos(e.mem--), " = "); + print(ftos(e.mem+1), "\n"); + + // compounds in general + a = 3; + print(ftos(a *= 2), " = 6\n"); + print(ftos(a /= 2), " = 3\n"); + + // compounds on vectors + vector v; + v = '3 4 5'; + print(vtos(v *= 2), " = '6 8 10'\n"); + print(vtos(v /= 2), " = '3 4 5'\n"); + + // bit compounds + a = 1; + print(ftos(a |= 2), " = 3\n"); + print(ftos(a &= 6), " = 2\n"); + a = 7; + + print(ftos(a &~= 3), " = 4\n"); }