-
Notifications
You must be signed in to change notification settings - Fork 48
Minor bugfixes #859
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Minor bugfixes #859
Changes from 3 commits
252cb67
8954704
19b40a8
47e10d5
63f0dd6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,6 +17,11 @@ | |
|
|
||
| /*! \file | ||
| * \brief Data type definitions for SpiNNaker Neuron-modelling | ||
| * \details | ||
| * Defines a spike with either a payload or not and implements the | ||
| * functionality to extract the key and payload in both cases. If the | ||
| * spike is compiled as not having a payload, the payload will always be | ||
| * returned as 0. | ||
| */ | ||
|
|
||
| #ifndef __NEURON_TYPEDEFS_H__ | ||
|
|
@@ -25,22 +30,13 @@ | |
| #include <common-typedefs.h> | ||
| #include "maths-util.h" | ||
|
|
||
| // Determine the type of a spike | ||
| /* | ||
| * defines a spike with either a pay load or not and implements the | ||
| * functionality to extract the key and pay load in both cases. If the | ||
| * spike is compiled as not having a pay load, the pay load will always be | ||
| * returned as 0 | ||
| */ | ||
| #ifndef __SPIKE_T__ | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Don't need this. The file already has a guard and only this file defines the type of spikes. |
||
|
|
||
| //! The type of a SpiNNaker multicast message key word | ||
| //! The type of a SpiNNaker multicast message key word. | ||
| typedef uint32_t key_t; | ||
| //! The type of a SpiNNaker multicast message payload word | ||
|
|
||
| //! The type of a SpiNNaker multicast message payload word. | ||
| typedef uint32_t payload_t; | ||
|
|
||
| #ifdef SPIKES_WITH_PAYLOADS | ||
|
|
||
| //! The type of a spike | ||
| typedef uint64_t spike_t; | ||
|
|
||
|
|
@@ -51,56 +47,46 @@ union _spike_t { | |
| key_t key; | ||
| }; | ||
| }; | ||
| #else /*SPIKES_WITHOUT_PAYLOADS*/ | ||
| //! The type of a spike | ||
| typedef uint32_t spike_t; | ||
| #endif /*SPIKES_WITH_PAYLOADS*/ | ||
|
|
||
| //! \brief helper method to retrieve the key from a spike | ||
| //! \brief Retrieve the key from a spike. | ||
| //! \param[in] s: the spike to get the key from | ||
| //! \return key_t: the key from the spike | ||
| //! \return the key from the spike | ||
| static inline key_t spike_key(spike_t s) { | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The key change I'm doing here is I'm trying to make it so that |
||
| #ifdef SPIKES_WITH_PAYLOADS | ||
| union _spike_t spike; | ||
| spike.pair = s; | ||
| return spike.key; | ||
| #else /*SPIKES_WITHOUT_PAYLOADS*/ | ||
| return s; | ||
| #endif /*SPIKES_WITH_PAYLOADS*/ | ||
| } | ||
|
|
||
| //! \brief helper method to retrieve the pay-load from a spike | ||
| //! \param[in] s: the spike to get the pay-load from | ||
| //! \return payload_t: the pay-load from the spike (only used if the model | ||
| //! is compiled with SPIKES_WITH_PAYLOADS) | ||
| //! \brief Retrieve the payload from a spike. | ||
| //! \param[in] s: the spike to get the payload from | ||
| //! \return the payload from the spike; always zero when `SPIKES_WITH_PAYLOADS` | ||
| //! is not defined. | ||
| static inline payload_t spike_payload(spike_t s) { | ||
| #ifdef SPIKES_WITH_PAYLOADS | ||
| union _spike_t spike; | ||
| spike.pair = s; | ||
| return spike.payload; | ||
| } | ||
|
|
||
| #else /*SPIKES_WITHOUT_PAYLOADS*/ | ||
|
|
||
| //! The type of a spike | ||
| typedef uint32_t spike_t; | ||
|
|
||
| //! \brief helper method to retrieve the key from a spike | ||
| //! \param[in] s: the spike to get the key from | ||
| //! \return key_t: the key from the spike | ||
| static inline key_t spike_key(spike_t s) { | ||
| return s; | ||
| } | ||
|
|
||
| //! \brief helper method to retrieve the pay-load from a spike | ||
| //! \param[in] s: the spike to get the pay-load from | ||
| //! \return payload_t: the pay-load from the spike (default-ly set to zero if | ||
| //! the model is not compiled with SPIKES_WITH_PAYLOADS) | ||
| static inline payload_t spike_payload(spike_t s) { | ||
| use(s); | ||
| return 0; | ||
| } | ||
| #endif /*SPIKES_WITH_PAYLOADS*/ | ||
| #endif /*__SPIKE_T__*/ | ||
| } | ||
|
|
||
| //! The type of a synaptic row | ||
| //! The type of a synaptic row. | ||
| typedef address_t synaptic_row_t; | ||
|
|
||
| //! The type of an input | ||
| //! The type of an input. | ||
| typedef REAL input_t; | ||
|
|
||
| //! The type of a state variable | ||
| //! The type of a state variable. | ||
| typedef REAL state_t; | ||
|
|
||
| #endif /* __NEURON_TYPEDEFS_H__ */ | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generates a link to the (pretty-printed) source for all files, not just headers.