I've been browsing the numpy source. I'm wondering about mixed-mode arithmetic on arrays. I believe the way numpy handles this is that it never does mixed arithmetic, but instead converts arrays to a common type. Arguably, that might be efficient for a mix of say, double and float. Maybe not.
But for a mix of complex and a scalar type (say, CDouble * Double), it's clearly suboptimal in efficiency.
So, do I understand this correctly? If so, is that something we should improve?