xor condition

2011-07-16 Thread Matt Benson
Currently each nested condition is xor'd against the cumulative result, thus:

xor(true, false) == true
xor(true, false, true) == false
xor(true, false, true, false) == false

Is this correct?  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.

Matt

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org



Re: xor condition

2011-07-16 Thread Stefan Bodewig
On 2011-07-17, Matt Benson wrote:

 Currently each nested condition is xor'd against the cumulative result, thus:

 xor(true, false) == true
 xor(true, false, true) == false
 xor(true, false, true, false) == false

 Is this correct?  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.

While my gut feeling agrees with what you describe the documentation of
the xor description actually says

,
| It only evaluates to true if an odd number of nested conditions are true.
`

If you need the other kind of xor then a new container would be
required.  exactlyOneOf or something similar?

Stefan

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org



Re: xor condition

2011-07-16 Thread Matt Benson
On Sat, Jul 16, 2011 at 10:21 PM, Stefan Bodewig bode...@apache.org wrote:
 On 2011-07-17, Matt Benson wrote:

 Currently each nested condition is xor'd against the cumulative result, thus:

 xor(true, false) == true
 xor(true, false, true) == false
 xor(true, false, true, false) == false

 Is this correct?  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.

 While my gut feeling agrees with what you describe the documentation of
 the xor description actually says

 ,
 | It only evaluates to true if an odd number of nested conditions are true.
 `


So is this an accepted kind of xor?

 If you need the other kind of xor then a new container would be
 required.  exactlyOneOf or something similar?

I don't need it, personally, yet.  Was working in Commons Lang,
noticed the discrepancy between oacl.BooleanUtils.xor() and Ant's xor
condition, and wanted to follow up.

br,
Matt


 Stefan

 -
 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



Re: xor condition

2011-07-16 Thread Stefan Bodewig
On 2011-07-17, Matt Benson wrote:

 ,
 | It only evaluates to true if an odd number of nested conditions are true.
 `

 So is this an accepted kind of xor?

Accepted by the original author (Steve IIRC), silently accepted by all
reviewers back then and in a way accepted as that's what it does by
Ant's users, I guess 8-)

Stefan

-
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org