For those using numpy version <1.6, you can use:
def result_type(arr1, arr2):
x1 = arr1.flat[0]
x2 = arr2.flat[0]
return (x1 * x2).dtype
def array_operation(arr1, arr2):
return np.empty(arr1.shape, result_type(arr1, arr2))
, , , arr1.flat[0] - index1 = ([0],) * arr1.ndim; arr1[index1].
numpy >= 1.6 , np.result_type