Add the good old xor swap trick to the xor test, yes it works :P

This commit is contained in:
Dale Weiler 2013-06-16 02:24:10 +00:00
parent 17ae2dbe4d
commit 5d2b57394e
2 changed files with 20 additions and 0 deletions

View file

@ -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");
}

View file

@ -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