[Numpy-discussion] Re: take for character arrays?

Faheem Mitha faheem at email.unc.edu
Thu Apr 15 14:03:23 CDT 2004


On Thu, 15 Apr 2004, Todd Miller wrote:

> On Thu, 2004-04-15 at 16:17, Faheem Mitha wrote:
> > On Thu, 15 Apr 2004, Todd Miller wrote:
> >
> > > Try this for a workaround:
> > >
> > > s.swapaxes(0,1)
> > > s = s.copy()
> > > r = numarray.take(s, (1,2))
> > > r.swapaxes(0,1)
> >
> > I was trying
> >
> > In [50]: ts = numarray.transpose(s)
> >
> > In [51]: numarray.take(ts,(1,2),axis=0)
> > ...
> > ValueError: Invalid destination array: partial indices require
> > contiguous non-byteswapped destination
> >
> > In [52]: tscopy = numarray.transpose(s).copy()
> >
> > In [53]: numarray.take(tscopy,(1,2),axis=0)
> > Out[53]:
> > CharArray([['b', 'e', 'h'],
> >            ['c', 'f', 'i']])
> >
> > Is this the same or a related bug?
>
> Same bug.  Making a copy of the transposed array ensures that it (the
> copy) is contiguous.

I am wondering if this bug affects boost-python as well. I got the same
behaviour when using boost.python's version of take.

Can you point to where in the source code the bug is? Thanks.

                                                           Faheem.




More information about the Numpy-discussion mailing list