-
Notifications
You must be signed in to change notification settings - Fork 4
dtypes and arrays scalars #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nit. Why don't you submit this as a merge into |
Closed
Note that the initial review is at gh-13. |
This was referenced Jan 4, 2023
Merged
Try to duck-type NumPy, only without array scalars, so that * dtype('float32').type --> np.float32 and * np.float32(3) --> array(3.0, dtype='float32) IOW, the attempt is to only have zero-dim arrays (we have them anyway) and have them everywhere where NumPy creates a scalar.
Try to duck-type NumPy, only without array scalars, so that * dtype('float32').type --> np.float32 and * np.float32(3) --> array(3.0, dtype='float32) IOW, the attempt is to only have zero-dim arrays (we have them anyway) and have them everywhere where NumPy creates a scalar.
So that current tests pass. This involves fixing a slew of small issues all around but hey.
This is a stub, will need to decide and clearly articulate what exactly is a scalar.
Structured dtypes, longdoubles and all that.
Also make test_numerictypes from numpy pass. Remove weird things, xfail the "scalar does not upcast array" test, fix up the rest.
The largest difference is that our type promotions are way simpler and more straighforward. No "weak promotion", no values.
OK, this works up to |
lezcano
reviewed
Jan 6, 2023
Closed
Ok, thanks for the reviews and discussions, let's merge this and iterate. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Address gh-9: implement the scalar type and array dtype hierarchy.
Implementation-wise it does a fairly weird thing of overriding
__new__
so that e.g.np.float32(1)
constructs a zero-dim tensor, not anp.float32
instance.See also #5 (comment) and below for a discussion about array scalars.
closes gh-9 when done.