4 ms·
Why would a==b be a problem with the XOR swap trick? function xorSwapTest(min, max) { for (var i = min; i < max; i++) { var a = i, b = i; b ^
by scj 8y ago
Why would a==b be a problem with the XOR swap trick?
function xorSwapTest(min, max) {
for (var i = min; i < max; i++) {
var a = i, b = i;
b ^= a;
a ^= b;
b ^= a;
if (a != i || b != i)
throw Error("Problem with " + i);
}
return true;
}
- saagarjha 8y agoThe issue is that if a == b, &s[a] == &s[b]; i.e. you're writing to the same address.