Hi, please take a look at this:
na.sum( na.zeros((2,6)) ) [0 0 0 0 0 0] na.sum( na.zeros((2,6)) , 0) [0 0 0 0 0 0] na.sum( na.zeros((2,6)) , 1) [0 0] na.sum( na.zeros((2,6)) , 2) [0 0] na.sum( na.zeros((2,6)) , 3) [0 0] na.sum( na.zeros((2,6)) , 4) [0 0] na.sum( na.zeros((2,6)) , -1) [0 0] na.sum( na.zeros((2,6)) , -2) [0 0 0 0 0 0] na.sum( na.zeros((2,6)) , -3) [0 0] na.sum( na.zeros((2,6)) , -4) [0 0]
I think here should be a ValueError exception thrown rather than defaulting to the '-1'-axis. Comments ? Also this applies to (all?) other functions that have an 'axis' argument. And further I just found that putting "too many slicings" to an array also gets silently ignored:
b.shape (7, 128, 128, 128) b[2,2,2,2,3] Traceback (most recent call last): File "<input>", line 1, in ? IndexError: too many indices.
BUT:
b[2:3 , 2:3 , 2:3 , 2:3 , 2:3 , 2:3] [[[[ 0.]]]]
I find this very confusing !! Is there any good reason not to have the "IndexError" exception in all cases ? Thanks, Sebastian Haase