Skip to content
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

Changes to implementation and test of iaf_psc_exp_ps_lossless for Nest PR #901 #22

Merged

Conversation

ChristianKeup
Copy link

Resolves the problem I found in the spike detection algorithm and fixes the existing test.
The extension of the test to look at the region of missed spikes will follow after Easter.
For general comments please see Nest PR nest#901

Copy link
Owner

@heplesser heplesser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ChristianKeup Thanks for fixing this, and yes, you created the PR in the correct way. I just found one small point to improve, see inline comments. Furthermore, the static code checker is unhappy about some lines in iaf_psc_exp_ps_lossless.cpp. Could you run extras/check_code_style.sh in your source directory and fix the errors indicated (using clang-format-3.6 -i ...?

g and f are interchanged. (compare to Fig.6)
*/

double f =
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ChristianKeup Make this const double, since f does not change below. This allows the compiler to generate more optimal code.

@ChristianKeup
Copy link
Author

During checking the spike detection algorithm, I found that while the model allows to set two different time constants for exc. and inh. synapses, the spike detection rests on the assumption that the two time constants are equal.
Extending the algorithm would be quite some work, since the neurons state space is then 3 dimensional ('V_m_', 'I_syn_ex_' and 'I_syn_in_').

Therefore, should I build in a check that simply forbids the user to set different synaptic time constants, or should I completely replace 'tau_ex_' and 'tau_in_' by a single parameter 'tau_syn' ?

@heplesser
Copy link
Owner

@ChristianKeup Good catch! I would suggest that you add a test that enforces tau_ex == tau_in, and add a note in the documentation. In this way, we can later modify the model to support tau_ex != tau_in without any change to the user interface. Maybe you could create a follow-up issue for that.

@heplesser
Copy link
Owner

@ChristianKeup Travis is now failing due to an old test. I merge your PR here and will fix the test myself.

@heplesser heplesser merged commit 49fd9c9 into heplesser:krishnanj-time-reversal-precise Apr 7, 2018
heplesser pushed a commit that referenced this pull request May 4, 2018
Tried to improve C++-testing under OSX.
heplesser pushed a commit that referenced this pull request Mar 12, 2019
heplesser pushed a commit that referenced this pull request Jan 10, 2020
Removed buffers from spin_detector.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants