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

Reply via email to