
Hi, On Mon, Jan 7, 2013 at 9:18 PM, Andrew Collette <andrew.collette@gmail.com> wrote:
Hi Matthew,
In this case I think you'd probably agree it would be reasonable to raise an error - all other things being equal?
No, I don't agree. I want there to be some default semantics I can rely on. Preferably, I want it to do the same thing it would do if some_offset were an array with element-by-element offsets, which is the current behavior of numpy 1.6 if you assume a reasonable dtype for some_offset.
Ah - well - I only meant that raising an error in the example would be no more surprising than raising an error at the python prompt. Do you agree with that? I mean, if the user knew that:
np.array([1], dtype=np.int8) + 128
would raise an error, they'd probably expect your offset routine to do the same.
Can you think of another practical case where it would be reasonably clear that it was the wrong thing to do?
I consider "myarray + constant -> Error" clearly wrong no matter what the context. I've never seen it in any other analysis language I've used. But it's also possible that I'm alone in this... I haven't seen many other people here arguing against the change.
I agree it kind of feels funny, but that's why I wanted to ask you for some silly but specific example where the funniness would be more apparent. Cheers, Matthew