Projection input and output functions were not being handled properly; state_push and state_pop was not being called for any of these transfer functions. This PR implements two changes:
Moves the definition of the input_fns parameter to the Projection level so it can be defined in the same place as output_fns.
Implements state_push and state_pop properly at the Projection level to correctly handle both types of transfer function.
All the training tests pass after making these modification and I don't foresee any other issues e.g snapshots should work fine after this change. I've submitted this as a PR to make sure everyone is happy with these commits before touching components in topo.base.
EDIT: As only a few lines have changed, I am happy to make these commits directly to master instead to avoid creating an additional PR commit.
Projection input and output functions were not being handled properly;
state_push
andstate_pop
was not being called for any of these transfer functions. This PR implements two changes:input_fns
parameter to theProjection
level so it can be defined in the same place asoutput_fns
.state_push
andstate_pop
properly at theProjection
level to correctly handle both types of transfer function.All the training tests pass after making these modification and I don't foresee any other issues e.g snapshots should work fine after this change. I've submitted this as a PR to make sure everyone is happy with these commits before touching components in
topo.base
.EDIT: As only a few lines have changed, I am happy to make these commits directly to master instead to avoid creating an additional PR commit.