Change behavior of helper set
/inc
to act on an indexed variable directly
#730
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.
Description
Reverting back to the option first suggested in #493 and then overridden in #494
The
[ ]
is the only way that allows for the Python slice:
syntax, and cannot be reproduced otherwise. The current helper methods ofset
/inc
require indexes to be passed as a tuple, and so users would need to writex.set((..., slice(None), 0), y)
if they wanted a shortcut topt.set_subtensor(x[..., :, 0], y)
, at which point the helper ceases to help at all. The reverted API instead looks likex[..., :, 0].set(y)
I still think a helper is useful because it's more discoverable and considerably more succinct than the function alternatives. If people disagree I would instead remove the method helpers altogether.
Related Issue
Checklist
Type of change