I agree it could lead to confusion, but it would be more surprising
(to me) to have normalize() and rotate(double theta) inconsistent with
add, etc. within MutableDouble2D. Usually I would pick either one or
the other, and so internal consistency is slightly more valuable to
me. Having no side effects would be more functional-like, but this is
Java.. *shrug* Main thing is to be clear in the docs. Anyone else have
Dr Matthew Berryman
Defence and Systems Institute
University of South Australia
Mawson Lakes SA 5095
t +61 8 8302 5882
f +61 8 8302 5344
m +61 413 458 594
CRICOS Provider Number: 00121B
On 29/10/2009, at 8:42 PM, Sean Luke wrote:
> So the problem with (B) is this. Let's say that M (and M0) is a
> MutableDouble2D and D (and D0) is a Double2D.
> If I say:
> Double2D Q = D.add(M)
> Double2D Q = D.add(D0)
> This will put into Q the result of D+M (or D+D0), but neither D, nor
> D0, nor M will be modified.
> However if I say
> MutableDouble2D Q = M.add(D)
> MutableDouble2D Q = M.add(M0)
> This will put into Q the result of D+M (or M0+M), but also set M to
> that result.
> I would imagine this would be... fairly surprising. Wouldn't you?
> That's what concerns me.
> On Oct 29, 2009, at 10:49 AM, Matthew Berryman wrote:
>> I agree with your points on (B), and this would be personally least
>> surprising to me, given the other existing methods (it is mutable,
>> after all :)
>> I'm just a sample size of one, though.
>> Dr Matthew Berryman
>> Defence and Systems Institute
>> SPRI Building
>> University of South Australia
>> Mawson Lakes SA 5095
>> t +61 8 8302 5882
>> f +61 8 8302 5344
>> m +61 413 458 594
>> CRICOS Provider Number: 00121B
>> On 29/10/2009, at 7:40 PM, Sean Luke wrote:
>>> Not hearing a peep from the peanut gallery :-( I'm inclined to make
>>> the (B) modifications. Going once, going twice?