On Wed, Jul 20, 2011 at 5:44 AM, Jesse Glick <jesse.gl...@oracle.com> wrote: > On 07/16/2011 08:59 PM, Matt Benson wrote: >> >> xor(true, false) == true >> xor(true, false, true) == false >> xor(true, false, true, false) == false >> >> Is this correct? > > Follows the usual semantics; cf.: > http://en.wikipedia.org/wiki/Exclusive_or#Associativity_and_commutativity > >> It would seem that semantically an xor over multiple >> nested conditions should mean that exactly one value should evaluate >> true in order for the xor operation to yield truth. > > Which is in fact the case in the examples you mentioned, but probably you > are thinking of > > xor(true, true, true) == true > > which is consistent with the algebraic definition, and the behavior of > Java's ^ operator for that matter. If you wanted a condition with the > semantics you describe, it should be named something else. >
Thanks, Jesse--I think you cleared it up in my head: and(x, y, z) => x & y & z or(x, y, z) => x | y | z xor(x, y, z) => x ^ y ^ z Thanks! Matt > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org > For additional commands, e-mail: dev-h...@ant.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org