numarray.sum should raise exception for wrong axis argument - and slicing ...
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
On Wed, 2004-06-23 at 18:06, Sebastian Haase wrote:
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 ?
This is a bug. Hopefully I'll get it today.
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 ?
This is also a bug. Fixed in CVS now. Thanks for the report! Regards, Todd
On Friday 25 June 2004 05:48 am, Todd Miller wrote:
On Wed, 2004-06-23 at 18:06, Sebastian Haase wrote:
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 ?
This is a bug. Hopefully I'll get it today.
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 ?
This is also a bug. Fixed in CVS now.
Thanks for the report!
Regards, Todd
Thanks so much - I got worried there for a moment ;-) Regards, Sebastian
On Fri, 2004-06-25 at 11:23, Sebastian Haase wrote:
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 ?
This is also a bug. Fixed in CVS now.
I'm afraid I spoke too soon here... this will be fixed but is not yet. Thanks again for taking the time to bring this to our attention. Regards, Todd
participants (2)
-
Sebastian Haase
-
Todd Miller