Add extract-id implementations for all types #183
Merged
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.
Add extract-id implementations for all types #183:
adds
emmy.{autodiff, tape}
toemmy.sci
's exported namespace setadds
emmy.dual/extract-id
implementations for all supported output types(every type that already implements
emmy.dual/IPerturbed
)moves
emmy.tape/Completed
toemmy.dual/Completed
; it doesn't really makesense there, but this is the only current way to remove the circular
dependency between
emmy.dual
andemmy.tape
. (tape
needs adual
import to gain
emmy.dual/IPerturbed
.)simplifies the
emmy.tape/gradient
implementation down to only handlesingle real-or-structural arguments, just like
emmy.dual/derivative
. We'llshare the "handle-multiple-input" implementation between the two in a
follow-up PR
makes the tests in
emmy.calculus.derivative
generic on the derivativeimplementation, so we can run all tests in forward and reverse mode.