The access counter should not have a multiplicative factor, because each synapse only calls get_history__() once on its postsynaptic partner, regardless of how many variables were transferred.
TODO:
for variables inside the post spikes loop in the synapse: instead of calling the timed getter function on the postsynaptic neuron (for example, ((post_neuron_t*)(__target))->get_tr_o2__for_stdp_triplet_synapse_nestml(_tr_t))), instead grab the variable from the history buffer (example: start->tr_o2__for_stdp_triplet_synapse_nestml_).
for variables just after the loop, use the getter function without the use of a time parameter. This means the tr_t lambda can be eliminated, as well as the postsynaptic neuron timed getter functions.
in the triplet STDP synapse, replace line w_ nS = w + tr_r1 * ( A2_plus + A3_plus * tr_o2 ) with w_ nS = w + tr_r1 * ( A2_plus + A3_plus * (tr_o2 - 1.) ) due to the order of updates.
The access counter should not have a multiplicative factor, because each synapse only calls
get_history__()
once on its postsynaptic partner, regardless of how many variables were transferred.TODO:
((post_neuron_t*)(__target))->get_tr_o2__for_stdp_triplet_synapse_nestml(_tr_t))
), instead grab the variable from the history buffer (example:start->tr_o2__for_stdp_triplet_synapse_nestml_
).tr_t
lambda can be eliminated, as well as the postsynaptic neuron timed getter functions.w_ nS = w + tr_r1 * ( A2_plus + A3_plus * tr_o2 )
withw_ nS = w + tr_r1 * ( A2_plus + A3_plus * (tr_o2 - 1.) )
due to the order of updates.