On 26 December 2011 14:56, Ralf Gommers <ralf.gomm...@googlemail.com> wrote: > > > On Mon, Dec 26, 2011 at 8:50 PM, <josef.p...@gmail.com> wrote: >> I have a hard time thinking through empty 2-dim arrays, and don't know >> what rules should apply. >> However, in my code I might want to catch these cases rather early >> than late and then having to work my way backwards to find out where >> the content disappeared. > > > Same here. Almost always, my empty arrays are either due to bugs or they > signal that I do need to special-case something. Silent passing through of > empty arrays to all numpy functions is not what I would want.
I find it quite annoying to treat the empty set with special deference. "All of my great-grandkids live in Antarctica" should be true for me (I'm only 30 years old). If you decide that is not true for me, it leads to a bunch of other logical annoyances up there The rule that shouldn't be special cased is what I described: x[idx1, idx2] should be a valid construction if it's true that all elements of idx1 and idx2 are integers in the correct range. The sizes of the empty matrices are also somewhat obvious. Special-casing vacuous truth makes me write annoying special cases. Octave doesn't error out for those special cases, and I think it's a good thing it doesn't. It's logically consistent. - Jordi G. H. _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion