From: Tim H. <tim...@ie...> - 2001-09-05 18:53:33
|
Hi Chris, I believe that all you should have to do is define an __array__ function similar to that in UserArray; def __array__(self,t=None): if t: return asarray(self.array,t) return asarray(self.array) Replace self.array with whatever you are calling your contained array. Regards, -tim ----- Original Message ----- From: "Chris Myers" <my...@tc...> To: <num...@li...> Sent: Wednesday, September 05, 2001 11:39 AM Subject: [Numpy-discussion] coercion for array-like objects for ufuncs > I have a Python object that contains a NumPy array (among other > things), and I'd like it to behave like an array in certain > circumstances. (For example, I can define __getitem__ on the class so > that the underlying NumPy array is indexed.) > > I'd like to be able to act on such an object with a ufunc, but am > stymied. For example, if y is an instance of this array-like class of > mine, then I get a type error if I try a reduction on it: > > >>> Numeric.minimum.reduce(y) > Traceback (most recent call last): > File "<stdin>", line 1, in ? > TypeError: function not supported for these types, and can't coerce to supported types > > > Is there a way I can effect this coercion? I guess I'd prefer not to > have to inherit from UserArray. > > Thanks, > > Chris > > ========================================================================== > Chris Myers > Cornell Theory Center > -------------------------------------------------------------------------- > 636 Rhodes Hall email: my...@tc... > Cornell University phone: (607) 255-5894 / fax: (607) 254-8888 > Ithaca, NY 14853 http://www.tc.cornell.edu/~myers > ========================================================================== > > _______________________________________________ > Numpy-discussion mailing list > Num...@li... > https://lists.sourceforge.net/lists/listinfo/numpy-discussion |