[Numpy-discussion] Striding on NumArray objects
faltet at carabos.com
Tue Dec 21 07:29:03 EST 2004
A Dimarts 21 Desembre 2004 16:05, vareu escriure:
> This is a difficult question for me, but I think the answer is that the
> use of _bytestride is very limited. _bytestride is used to compute the
> "natural" strides of an almost contiguous array, e.g. a field of a
> recarray. That is, given a bytestride and a shape, the strides of a
> field of a contiguous RecArray are implied.
Yes, I was trying to use _bytestride mainly in RecArray contexts. It just
happens that I've used a NumArray object to check the _bytestride behaviour.
> However, once we start slicing (say in more than one dimension),
> _strides contains more and more information and is no longer implied by
> just the shape and bytestride but also by the history of slicing. From
> that perspective, it's not clear what _bytestride can be relied upon
> for in general or that it needs to be (or can be) kept up to date during
Well, for the time being it seems that RecArray does not support
multidimensionalty, so I can just use _bytestride as a shortcut of
_strides here. Although now that I think more about this, using
itemsize() as Tim suggested, would be the best to compute strides in
RecArrays; however this is supposing that fields in RecArrays are
contiguous. This would be always the case?
> FWIW, looking into this uncovered a related bug in numarray.strings
> where I tried to use _bytestride to do a simple iteration over all the
> elements of an array... that doesn't work.
Francesc Altet >qo< http://www.carabos.com/
Cárabos Coop. V. V V Enjoy Data
More information about the NumPy-Discussion