-
Notifications
You must be signed in to change notification settings - Fork 6
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
Array slicing bug fix #81
Closed
Closed
Changes from 7 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
f26433e
added spatial.py & fixed slicing bug in array.py
Adnan-Ali-Ahmad 8790f8e
forgot yapf formatting
Adnan-Ali-Ahmad 6b2824e
flake8
Adnan-Ali-Ahmad 7888bc0
last typo fixed
Adnan-Ali-Ahmad 41155c7
removed redundant function and normalized guiding vector in rotation_…
Adnan-Ali-Ahmad 3bdee6d
slicing up PR
Adnan-Ali-Ahmad 90c6381
forgot to remove spatial import
Adnan-Ali-Ahmad 2e938a1
Update src/osyris/core/array.py
Adnan-Ali-Ahmad File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not so sure about this change...
When you slice with
data['amr']['position'][0]
, you get the single vector'' Min: 106.650 Max: 106.650 [au] (1, 3)
, which is what we wanted.However, then if you slice that again, i.e.
data['amr']['position'][0][0]
, one might expect to get the first component of the vector, but instead you get the 3 components as a normal array'' Min: 61.574 Max: 61.574 [au] (3,)
.(you need to do
data['amr']['position'][0][0][0]
to get the first component...)I agree that the previous behaviour, where
data['amr']['position'][0][0]
gives you the same asdata['amr']['position'][0]
is not much better. Maybe instead we should just prevent slicing single vectors further altogether, forcing the user to use the.x
,.y
,.z
properties?I guess no one prevents you from doing
data['amr']['position'][0, 0]
if you really want to get to a single number?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well if we want to be consistent with how numpy arrays work, it should return an array of shape
(3,)
. So I'm not really sure about forcing the user to use the.x
,.y
and.z
attributes.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am wondering if we should just revert the change and let it just behave like numpy?
And just let users use the
data['amr']['position'][10:11]
syntax to preserve the dimension?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's still nice to be able to retrieve a
(1,3)
shaped vector, so maybe we can do a revert on the__getitem__
operator and create a new method calledget_vector(ind)
that returns an array with shape(1,3)
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the previous change I made is still unreleased, I will revert that and just keep the
[ind:ind+1]
syntax for preserving the dimension.We could always add a
get_vector(ind)
at a later stage, if more people request it.