Hi,
This is with numpy 1.6.1 under Linux x86_64, testing the upcast mechanism of "scalar + array":
>>> import numpy; print (numpy.array(3, dtype=numpy.complex128) + numpy.ones(3, dtype=numpy.float32)).dtype
complex64
Since it has to upcast my array (float32 is not "compatible enough" with complex128), why does it upcast it to complex64 instead of complex128?
As far as I can tell 1.4.x and 1.5.x versions of numpy are indeed upcasting to complex128.
Thanks,
-=- Olivier