Result of `numpy.sum` with `float32` input is `float64`
IIUC the standard states that input dtype is to be preserved for floating point types when dtype is unspecified.
dtype - data type of the returned array. If
None, the returned array must have the same data type asx, unlessxhas an integer data type
However,
from array_api_compat import numpy as np
x = np.arange(10, dtype=np.float32)
np.sum(x).dtype # dtype('float64')
This is part of #127. This was changed in 2023.12. I don't see a need to keep the previously standardized behavior intact. Unfortunately, I haven't yet started work on updating array-api-compat for 2023.12, but I plan to start that work now.
Interesting. I didn't notice that the old standard required that the output dtype be the default floating point type. Glad that was changed!