Hacker News new | ask | show | jobs
by ur-whale 2822 days ago
You'd better hope that a!=b
2 comments

Edge-case FUD.
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;
  }
The issue is that if a == b, &s[a] == &s[b]; i.e. you're writing to the same address.