sPyNNaker neural_modelling 7.3.1
Loading...
Searching...
No Matches
Data Structures | Functions
weight_additive_two_term_impl.h File Reference

Additive dual-term weight dependence rule. More...

#include <neuron/plasticity/stdp/maths.h>
#include <neuron/plasticity/stdp/stdp_typedefs.h>
#include <neuron/synapse_row.h>
#include <debug.h>
#include "weight_two_term.h"

Go to the source code of this file.

Data Structures

struct  plasticity_weight_region_data_t
 The configuration of the rule. More...
 
struct  weight_state_t
 The current state data for the rule. More...
 

Functions

static weight_state_t weight_get_initial (weight_t weight, index_t synapse_type)
 Gets the initial weight state.
 
static weight_state_t weight_two_term_apply_depression (weight_state_t state, int32_t a2_minus, int32_t a3_minus)
 Apply the depression rule to the weight state.
 
static weight_state_t weight_two_term_apply_potentiation (weight_state_t state, int32_t a2_plus, int32_t a3_plus)
 Apply the potentiation rule to the weight state.
 
static weight_t weight_get_final (weight_state_t state)
 Gets the final weight.
 
static void weight_decay (weight_state_t *state, int32_t decay)
 
static accum weight_get_update (weight_state_t state)
 

Detailed Description

Additive dual-term weight dependence rule.

Definition in file weight_additive_two_term_impl.h.


Data Structure Documentation

◆ plasticity_weight_region_data_t

struct plasticity_weight_region_data_t

The configuration of the rule.

Definition at line 33 of file weight_additive_one_term_impl.h.

Data Fields
accum min_weight Minimum weight.
accum max_weight Maximum weight.
accum a2_plus Scaling factor for weight delta on potentiation.

Amount to move weight on potentiation.

accum a2_minus Scaling factor for weight delta on depression.

Amount to move weight on depression.

accum a3_plus Scaling factor for weight delta on potentiation.
accum a3_minus Scaling factor for weight delta on depression.

◆ weight_state_t

struct weight_state_t

The current state data for the rule.

Definition at line 42 of file weight_additive_one_term_impl.h.

Data Fields
accum weight The starting weight.

The current weight.

The weight.

uint32_t weight_shift Weight shift to S1615 version.

The shift to use when multiplying.

Shift of weight to and from S1615 format.

const plasticity_weight_region_data_t * weight_region Reference to the configuration data.

Function Documentation

◆ weight_get_initial()

static weight_state_t weight_get_initial ( weight_t  weight,
index_t  synapse_type 
)
inlinestatic

Gets the initial weight state.

Parameters
[in]weightThe weight at the start
[in]synapse_typeThe type of synapse involved
Returns
The initial weight state.

Definition at line 63 of file weight_additive_two_term_impl.h.

◆ weight_two_term_apply_depression()

static weight_state_t weight_two_term_apply_depression ( weight_state_t  state,
int32_t  a2_minus,
int32_t  a3_minus 
)
inlinestatic

Apply the depression rule to the weight state.

Parameters
[in]stateThe weight state to update
[in]a2_minusThe amount of depression to apply to term 1
[in]a3_minusThe amount of depression to apply to term 2
Returns
the updated weight state

Definition at line 83 of file weight_additive_two_term_impl.h.

◆ weight_two_term_apply_potentiation()

static weight_state_t weight_two_term_apply_potentiation ( weight_state_t  state,
int32_t  a2_plus,
int32_t  a3_plus 
)
inlinestatic

Apply the potentiation rule to the weight state.

Parameters
[in]stateThe weight state to update
[in]a2_plusThe amount of potentiation to apply to term 1
[in]a3_plusThe amount of potentiation to apply to term 2
Returns
the updated weight state

Definition at line 97 of file weight_additive_two_term_impl.h.

◆ weight_get_final()

static weight_t weight_get_final ( weight_state_t  state)
inlinestatic

Gets the final weight.

Parameters
[in]stateThe updated weight state
Returns
The new weight.

Definition at line 111 of file weight_additive_two_term_impl.h.

◆ weight_decay()

static void weight_decay ( weight_state_t state,
int32_t  decay 
)
inlinestatic

Definition at line 115 of file weight_additive_two_term_impl.h.

◆ weight_get_update()

static accum weight_get_update ( weight_state_t  state)
inlinestatic

Definition at line 119 of file weight_additive_two_term_impl.h.