[Numpy-discussion] numpy.complex* functions do not call the __complex__ method
jason-sage at creativetrax.com
jason-sage at creativetrax.com
Thu Sep 25 02:03:27 EDT 2008
In creating an array of type numpy.complex128, I'm having problems
passing in Sage types that should be considered complex numbers since
they implement the standard __complex__ method. However, numpy doesn't
recognize that. Here's a minimal example:
In [1]: class MyNum:
...: def __complex__(self):
...: return complex(1,3)
...:
...:
In [2]: import numpy
In [3]: a=MyNum()
In [4]: complex(a)
Out[4]: (1+3j)
In [5]: numpy.complex128(a)
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'> Traceback (most recent call last)
/home/jason/download/numpy/numpy-1.1.0/src/numpy/<ipython console> in
<module>()
<type 'exceptions.AttributeError'>: MyNum instance has no attribute
'__float__'
This is with numpy 1.1. Is this a bug, or is this by design?
Thanks,
Jason
More information about the NumPy-Discussion
mailing list