← Back to team overview

dolfin team mailing list archive

Re: [Bug 427047] Re: Vector indexing in Python with NumPy indices

 

On Thu, Sep 10, 2009 at 11:29:37AM -0000, Johan Hake wrote:
> Should be fixed now.
>
> The following types should now work
>
> [int,int0,int16,int32,int64,uint,uint0,uint16,uint32,uint64]
>
> Added a test in test/unit/la/python for this.
>
> Again long does not work. Not sure if we need that.
>
> If no complains, I will soon close this one.

Still breaks for me:

from dolfin import Vector
from numpy import zeros

x = Vector(10)
i = zeros(10, "I")

x[i[0]] = 1.0

in __setitem__(self, indices, values)
   3802                 raise TypeError, "provide a scalar,
   GenericVector or numpy array of float to set items in Vector"
   3803         else:
-> 3804             raise TypeError, "index must be an int, slice or a
list or numpy array of integers"
   3805
   3806     def __len__(self):

TypeError: index must be an int, slice or a list or numpy array of
integers

--
Anders

-- 
Vector indexing in Python with NumPy indices
https://bugs.launchpad.net/bugs/427047
You received this bug notification because you are subscribed to DOLFIN.

Status in DOLFIN: New

Bug description:
The following breaks:

import dolfin, numpy

x = Vector(10)

print x[numpy.int32(0)]
print x[numpy.int64(0)]
print x[numpy.array((0, 1), dtype='I')

The typechecks in la_post.i looks like they can be expanded. (I tried it myself but couldn't get it working correctly.)


Follow ups

References