
I have 2 user-defined types, and simple arithmetic working for the cases I registered with PyUFunc_RegisterLoopForType.
I'd like to use automatic conversion to do mixed arithmetic between these 2 types. I did PyArray_RegisterCastFunc, and it seems this allows explicit conversion:
a
array([(0,0), (1,0), (2,0), (3,0), (4,0), (5,0), (6,0), (7,0), (8,0), (9,0)], dtype=cmplx_int32)
b
array([(0,0), (1,0), (2,0), (3,0), (4,0), (5,0), (6,0), (7,0), (8,0), (9,0)], dtype=cmplx_int64)
array (a,dtype=b.dtype)
array([(0,0), (1,0), (2,0), (3,0), (4,0), (5,0), (6,0), (7,0), (8,0), (9,0)], dtype=cmplx_int64)
But mixed mode arithmetic gives:
a+b TypeError: function not supported for these types, and can't coerce safely to supported types
I've been trying to understand this 'coerce' without much luck. Any clues what I need to do here?
participants (1)
-
Neal Becker