Closed
Description
In today's call we discussed that the current Array API standard does not regulate the default integer and floating-point types across all implementations, only that each implementation should pick one, document clearly and stick to it. However, this is not strong enough, as there could be cross-platform/portability issues.
For example, NumPy is inconsistent in handling the Python integers between Windows and Linux:
import numpy as np
a = np.arange(10, dtype=int)
a.dtype # np.int32 on Windows, np.int64 on Linux
Similar issues can be found in other APIs.
It's worth noting that as pointed out by @kgryte, the standard does not permit passing dtype=int
to most of the functions, so this could eliminate a large class of such inconsistencies. But it's still good to be explicit in the standard to ensure portability.