Could someone explain what "result |= x ^ y" does? Better yet, can someone point me to a search engine that lets me search for symbols?
so, "result |= x ^ y" will change result to true if x and y are different. since its bitwise, the bits that are different between x and y will be set in result
For example, if x = 0b0101 and y = 0b0011, x ^ y = 0b0110. If result was previously 0b0011 from a previous test, then after "result |= 0b0110" result will be 0b0111.
Of course, in many programming languages (including Java and Python), a value of zero is interpreted as false and anything else is true.
result |= x ^ y
means result = result | (x ^ y)
means result = result 'bitwise-or' (x 'bitwise-xor' y)