sPyNNaker neural_modelling  development
weight.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 The University of Manchester
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
33 #ifndef _WEIGHT_H_
34 #define _WEIGHT_H_
35 
36 #include <common/neuron-typedefs.h>
37 #include <neuron/synapse_row.h>
38 
49 address_t weight_initialise(
50  address_t address, uint32_t n_synapse_types,
51  uint32_t *ring_buffer_to_input_buffer_left_shifts);
52 
59 static weight_state_t weight_get_initial(weight_t weight, index_t synapse_type);
60 
66 static weight_t weight_get_final(weight_state_t new_state);
67 
74 static void weight_decay(weight_state_t *state, int32_t decay);
75 
81 static accum weight_get_update(weight_state_t state);
82 
83 #endif // _WEIGHT_H_
#define decay(x, d)
This is a type-generic decay "function".
Definition: decay.h:118
Data type definitions for SpiNNaker Neuron-modelling.
static uint32_t n_synapse_types
The number of synapse types.
Definition: neuron.c:51
implementation for handling the processing of synapse rows.
address_t weight_initialise(address_t address, uint32_t n_synapse_types, uint32_t *ring_buffer_to_input_buffer_left_shifts)
Initialises the weight aspect of an STDP rule.
static weight_t weight_get_final(weight_state_t new_state)
Gets the final weight.
static weight_state_t weight_get_initial(weight_t weight, index_t synapse_type)
Gets the initial weight state.
static void weight_decay(weight_state_t *state, int32_t decay)
Decay the weight inside the state by multiplication.
static accum weight_get_update(weight_state_t state)
Get the weight inside during update in STDP fixed point format.
The current state data for the rule.