Neal Becker wrote:
> [EMAIL PROTECTED] wrote:
>
>   
>> 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:
>>
>>     
>
> I had tried to add my own complex_int class (using c++ code).  Although 
> partly successful, I was not able to get x.real to work.  The reason is that 
> PyArray_ISCOMPLEX is used in various places, and this is a hard-coded macro.  
> There is no way to extend numpy's complex behavior to support user added 
> types.  I wish there was.
>   

Is there any possibility of redefining the macro to first call the 
Python function that converts to a python complex?  (I don't know much 
about the python C API, just throwing an idea out).  My example works if 
I do:

numpy.complex128(complex(my_complex_number)),

 but not if I do

numpy.complex128(my_complex_number).

Can we make the call to python's complex (or maybe numpy's copy of it) 
automatic?

Thanks,

Jason

_______________________________________________
Numpy-discussion mailing list
[email protected]
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to