From: Faheem M. <fa...@em...> - 2004-04-15 20:40:25
|
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. |