mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-02-20 18:32:01 +00:00
Add the good old xor swap trick to the xor test, yes it works :P
This commit is contained in:
parent
17ae2dbe4d
commit
5d2b57394e
2 changed files with 20 additions and 0 deletions
19
tests/xor.qc
19
tests/xor.qc
|
@ -1,3 +1,16 @@
|
|||
vector swap(float x, float y) {
|
||||
vector ret = '0 0 0';
|
||||
// everyone knows this trick
|
||||
ret.x = x;
|
||||
ret.y = y;
|
||||
|
||||
ret.x = ret.x ^ ret.y;
|
||||
ret.y = ret.y ^ ret.x;
|
||||
ret.x = ret.x ^ ret.y;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void main() {
|
||||
float x = 5;
|
||||
float y = 3;
|
||||
|
@ -30,4 +43,10 @@ void main() {
|
|||
|
||||
print("vv: ", vtos(v3), "\n");
|
||||
print("vf: ", vtos(v4), "\n");
|
||||
|
||||
// good olde xor swap test too
|
||||
float swap_x = 100;
|
||||
float swap_y = 200;
|
||||
vector swaps = swap(swap_x, swap_y);
|
||||
print("100:200 swapped is: ", ftos(swaps.x), ":", ftos(swaps.y), "\n");
|
||||
}
|
||||
|
|
|
@ -10,3 +10,4 @@ M: assocative
|
|||
M: inverse
|
||||
M: vv: '6 8 6'
|
||||
M: vf: '15 8 15'
|
||||
M: 100:200 swapped is: 200:100
|
||||
|
|
Loading…
Reference in a new issue