22#ifndef _ALPHA_SYNAPSE_H_
23#define _ALPHA_SYNAPSE_H_
30#define SYNAPSE_TYPE_BITS 1
33#define SYNAPSE_TYPE_COUNT 2
36#define NUM_EXCITATORY_RECEPTORS 1
38#define NUM_INHIBITORY_RECEPTORS 1
164 switch (synapse_type_index) {
182 excitatory_response[0] =
184 return &excitatory_response[0];
194 inhibitory_response[0] =
196 return &inhibitory_response[0];
207 switch (synapse_type_index) {
213 log_debug(
"did not recognise synapse type %i", synapse_type_index);
232 log_debug(
"-------------------------------------\n");
void log_debug(const char *message,...)
utility method for decaying a value by a given amount
#define decay(x, d)
This is a type-generic decay "function".
static s1615 decay_s1615(s1615 x, decay_t decay)
this method takes a s1615 and decays it by a given amount (denoted by the decay) (to compensate for t...
accum REAL
Type used for "real" numbers.
static REAL kdivk(REAL a, REAL b)
Divides an accum by another accum.
static REAL kdivui(REAL a, uint32_t b)
Divides an accum by an unsigned integer.
REAL input_t
The type of an input.
static uint n_steps_per_timestep
The number of steps to run per timestep.
void io_printf(char *stream, char *format,...)
static stdp_params params
Configuration parameters.
API for synaptic behaviour types (see also src/neuron/input_types)
static const char * synapse_types_get_type_char(index_t synapse_type_index)
returns a human readable character for the type of synapse.
static input_t * synapse_types_get_excitatory_input(input_t *excitatory_response, synapse_types_t *parameters)
extracts the excitatory input buffers from the buffers available for a given neuron ID
input_t lin_buff
buffer for linear term
input_t q_buff
Temporary value of input.
decay_t decay
Exponential decay multiplier.
synapse_alpha_input_buffer_regions
The supported synapse type indices.
@ INHIBITORY
Inhibitory synaptic input.
@ EXCITATORY
Excitatory synaptic input.
static void synapse_types_add_neuron_input(index_t synapse_type_index, synapse_types_t *parameters, input_t input)
adds the inputs for a give timer period to a given neuron that is being simulated by this model
static void alpha_shaping(alpha_state_t *a_params)
Applies alpha shaping to a parameter.
static void synapse_types_print_input(synapse_types_t *parameters)
prints the input for a neuron ID given the available inputs currently only executed when the models a...
static void synapse_types_print_parameters(synapse_types_t *parameters)
prints the parameters of the synapse type
static void add_input_alpha(alpha_state_t *a_params, input_t input)
helper function to add input for a given timer period to a given neuron
static void synapse_types_shape_input(synapse_types_t *parameters)
decays the stuff thats sitting in the input buffers as these have not yet been processed and applied ...
static input_t * synapse_types_get_inhibitory_input(input_t *inhibitory_response, synapse_types_t *parameters)
extracts the inhibitory input buffers from the buffers available for a given neuron ID
input_t dt_divided_by_tau_sqr
τ-1 pre-multiplied by dt
Parameters of an alpha synaptic input.
Internal structure of an alpha-shaped synaptic input.
alpha_state_t inh
Inhibitory synaptic input.
alpha_params_t exc
First excitatory synaptic input.
alpha_state_t exc
Excitatory synaptic input.
Delta synapses support just a single excitatory and inhibitory input each.