Pulling-out a discussion of #24376 (comment), which is buried in a long thread.
I have been working on updating JAX for compatibility with NEP 52, and the inconsistency of treatment of default-width dtypes (uint, int_, float_, complex_) is something I'm finding confusing.
For consistency, I think either all four should be present in NumPy 2.0, or all four should be removed. The current state, where uint and int_ are present, but float_ and complex_ are not, is inconsistent and confusing.
I understand the argument about platform-dependence of integer dtypes and non-platform dependence of inexact dtypes. I understand the goal of eliminating unnecessary aliases to types. But I think the consistency of having default-width dtype specifiers available for each dtype kind outweighs the cost of having overlapping names for those default types.
Pulling-out a discussion of #24376 (comment), which is buried in a long thread.
I have been working on updating JAX for compatibility with NEP 52, and the inconsistency of treatment of default-width dtypes (
uint,int_,float_,complex_) is something I'm finding confusing.For consistency, I think either all four should be present in NumPy 2.0, or all four should be removed. The current state, where
uintandint_are present, butfloat_andcomplex_are not, is inconsistent and confusing.I understand the argument about platform-dependence of integer dtypes and non-platform dependence of inexact dtypes. I understand the goal of eliminating unnecessary aliases to types. But I think the consistency of having default-width dtype specifiers available for each dtype kind outweighs the cost of having overlapping names for those default types.