-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat!: add writable parameter to ndarray/base/remove-singleton-dimensions
#9667
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
Open
headlessNode
wants to merge
5
commits into
stdlib-js:develop
Choose a base branch
from
headlessNode:rm-s-dims
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+132
−257
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
753ad36
feat: add writable parameter
headlessNode 04ec3e9
docs: fix missing parameter
kgryte ae311be
docs: fix missing parameter in function call
kgryte fbe9a4b
refactor: add suggestions from code review
headlessNode 69dcd01
refactor: apply suggestions from code review
headlessNode 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 hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
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.
This parameter is somewhat in conflict with the note at L74. Namely, if we return a provided ndarray unchanged, then the
writableparameter is ignored.Uh oh!
There was an error while loading. Please reload this page.
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.
We have a couple of choices. 1) Always return a new view of the input ndarray. 2) Update the docs here to indicate that the
writableparameter will be ignored if the input ndarray doesn't have any singleton dimensions. 3) Pursue (1) plus add the packagemaybe-remove-singleton-dimensionswhere this new package does what this package does now, which is returns an input ndarray unchanged iff an input ndarray has no singleton dimensions.The original rationale for sometimes returning the original input ndarray is for performance, as ndarray view creation is expensive. Having a
maybe-*prefix makes this behavior explicit similar tomaybe-broadcast-array, etc.That seem reasonable to you, @headlessNode?
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.
@kgryte So, we add a
maybe-prefix to this package and add theremove-singleton-dimensionspackage which always return a new view?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.
@headlessNode That doesn't quite make sense. It means copy the current package to
maybe-*and then modify the existing package to always return a view.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.
Also means that we'll need a follow-up PR to migrate all current downstream usage to use the
maybe-*package.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.
@kgryte I've modified the current package to always return a new view. I think adding the
maybe-*package and updating downstream usage should be separate PR?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.
Correct. Adding and updating should actually be two separate PRs (in addition to the current PR).