X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=tests%2Foperators.qc;h=44c3d5103c71799a855f29128acf2da5e8c50bac;hp=ed617e92b3e8f6031e483a76b541b8c1414ae177;hb=05e20bcddaa5cb67b4d2a91323a5dfc17e99a416;hpb=448d4ebd75a83c35e130bf00b6879c6e310ab930 diff --git a/tests/operators.qc b/tests/operators.qc index ed617e9..44c3d51 100644 --- a/tests/operators.qc +++ b/tests/operators.qc @@ -1,38 +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"); + 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"); }