Hello, Multiplying a Python float to a numpy.array of objects works flawlessly but not with a numpy.float64 . I tried numpy version '1.0.4' on a 32 bit Linux and '1.2.1' on a 64 bit Linux: both raise the same exception.
Is this a (known) bug? ---------------------- test.py ------------------------------------ from numpy import * class adouble: def __init__(self,x): self.x = x def __mul__(self,rhs): if isinstance(rhs,adouble): return adouble(self.x * rhs.x) else: return adouble(self.x * rhs) def __str__(self): return str(self.x) x = adouble(3.) y = adouble(2.) u = array([adouble(3.), adouble(5.)]) v = array([adouble(2.), adouble(7.)]) z = array([2.,3.]) print x * y # ok print u * v # ok print u * z # ok print u * 3. # ok print u * z[0] # _NOT_ OK! print u * float64(3.) # _NOT_ OK! ---------------------- output --------------------------------- wal...@wronski$ python test.py 6.0 [6.0 35.0] [6.0 15.0] [9.0 15.0] Traceback (most recent call last): File "test.py", line 24, in <module> print u * z[0] # _NOT_ OK! TypeError: unsupported operand type(s) for *: 'numpy.ndarray' and 'numpy.float64' regards, Sebastian _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion