From: Todd M. <jm...@st...> - 2004-12-17 15:09:58
|
On Fri, 2004-12-17 at 08:31, kon...@la... wrote: > I am working on making ScientificPython > (http://dirac.cnrs-orleans.fr/ScientificPython/) compatible with > numarray. One problem I stumbled across is that one feature of Numeric > seems to be absent from numarray: the possibility to call ufuncs with > arguments of non-numeric types, leading to a corresponding method call. > > As an illustration, the following example works fine with Numeric, but > crashes with numarray: > > from Numeric import sqrt > #from numarray import sqrt > > class DummyValue: > > def __init__(self, string): > self.string = string > > def __str__(self): > return self.string > > def sqrt(self): > return DummyValue('sqrt(%s)' % self.string) > > x = DummyValue('x') > print sqrt(x) > > > Is this a bug or a feature? It's a missing feature. > Is there another way to make ufuncs work with user-defined classes and types? Not that I know of. How critical a feature is it? Do you have a work around? numarray ufunc handling is in flux as I'm adding numarray support to scipy. At some point, there's going to be a major ufunc consolidation, and perhaps I can add this additional feature then. Regards, Todd |