Is there anything to require a numpy array with a minimum numeric dtype? To avoid lower precision calculations and be upwards compatible, something like x = np.asarray(x, >=np.float64) that converts ints, bool and lower precision to float64 but leaves higher precision float and complex double alone. Josef