sPyNNaker neural_modelling 7.1.1
Loading...
Searching...
No Matches
Macros | Functions
partner.h File Reference

Partner selection rule common API. More...

#include <neuron/synapses.h>
#include <random.h>
#include <stdfix-full-iso.h>
#include <neuron/structural_plasticity/synaptogenesis/sp_structs.h>

Go to the source code of this file.

Macros

#define INVALID_SELECTION   ((spike_t) - 1)
 value to be returned when there is no valid partner selection
 

Functions

void partner_init (uint8_t **data)
 Initialise the partner selection rule.
 
static void partner_spike_received (uint32_t time, spike_t spike)
 Notifies the rule that a spike has been received.
 
static bool potential_presynaptic_partner (uint32_t time, uint32_t *restrict population_id, uint32_t *restrict sub_population_id, uint32_t *restrict neuron_id, spike_t *restrict spike, uint32_t *restrict m_pop_index)
 Choose the potential (remote) synaptic partner.
 

Detailed Description

Partner selection rule common API.

Definition in file partner.h.

Macro Definition Documentation

◆ INVALID_SELECTION

#define INVALID_SELECTION   ((spike_t) - 1)

value to be returned when there is no valid partner selection

Definition at line 34 of file partner.h.

Function Documentation

◆ partner_init()

void partner_init ( uint8_t **  data)

Initialise the partner selection rule.

Parameters
[in,out]dataA variable holding the location in SDRAM to configure the rule from. Will be updated to point to the first location after the configuration data.

Definition at line 28 of file last_neuron_selection_impl.c.

◆ partner_spike_received()

static void partner_spike_received ( uint32_t  time,
spike_t  spike 
)
inlinestatic

Notifies the rule that a spike has been received.

Parameters
[in]timeThe time that the spike was received at
[in]spikeThe spike that was received (includes the sending neuron ID)

◆ potential_presynaptic_partner()

static bool potential_presynaptic_partner ( uint32_t  time,
uint32_t *restrict  population_id,
uint32_t *restrict  sub_population_id,
uint32_t *restrict  neuron_id,
spike_t *restrict  spike,
uint32_t *restrict  m_pop_index 
)
inlinestatic

Choose the potential (remote) synaptic partner.

Parameters
[in]timeThe current time
[out]population_idThe ID of the other population
[out]sub_population_idThe ID of the subpopulation (corresponds to remote SpiNNaker core handling the population)
[out]neuron_idThe ID of the neuron within the subpopulation
[out]spikeThe spike that made this a meaningful choice
[out]m_pop_indexThe master population table index
Returns
True if a choice was made