Disallow numeric scalar conversation for non-0D arrays #2223
+62
−24
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR partially aligns
usm_ndarrayscalar conversion semantics with the Python Array API by allowing numeric scalar conversion only for 0D usm_ndarraysConversions to Python numeric scalars via
int,float,complexand their corresponding methods (__int__,_float__,__complex__) now raiseTypeErrorwhen applied to usm_ndarrays withndim !=0Note:
For full compliance with the Python Array API, the same check should be used for truth values
__bool__method and integer indexing index methodBut these changes would impact dpnp compatibility with Numpy 2.4 which currently disallows only numeric scalar conversation (a minor behavioral difference I think)
In addition several
dpctl testsrely on implicit truth conversion for non-0D arrays and must be updated accordingly