/* * test_syn_hom_wd.sli * * This file is part of NEST. * * Copyright (C) 2004 The NEST Initiative * * NEST is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * NEST is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NEST. If not, see <http://www.gnu.org/licenses/>. * */ /* BeginDocumentation Name: testsuite::test_syn_hom_wd - sli script for test synapse with homogeneous weight and delay. Synopsis: (test_syn_hom_wd) run -> compare response with reference data Description: Test of the overall function of static_synapse_hom_wd. A simple integrate-and-fire neuron is created. It is connected to a spike generator and a voltmeter by static synapses with homogeneous weight and delay. FirstVersion: April 2008 Author: Moritz Helias, Susanne Kunkel */ /unittest (6688) require /unittest using 1.0 /delay Set % in ms 0.1 /h Set ResetKernel 0 << /local_num_threads 1 /resolution h >> SetStatus /spike_generator Create /sg Set sg << /precise_times false /origin 0.0 % in ms /spike_times [ 2.0 ] % in ms /start 1.0 % in ms /stop 3.0 % in ms >> SetStatus /iaf_neuron Create /neuron Set /voltmeter Create /vm Set vm << /withtime true /to_memory true /time_in_steps true /interval h >> SetStatus /spike_detector Create /sd Set sd << /withtime true /to_memory true /time_in_steps true >> SetStatus /static_synapse_hom_wd << /weight 100.0 /delay 1.0 >> SetDefaults sg neuron /static_synapse_hom_wd Connect vm neuron /static_synapse_hom_wd Connect neuron sd /static_synapse_hom_wd Connect 7.0 Simulate % function expecting testdata on stack { % reference data dup Transpose First /test_times Set % times of reference vm [/events [/times /V_m]] get cva % array of recorded data 6 ToUnitTestPrecision % to precision of reference Transpose % all recorded tuples {First test_times exch MemberQ } Select % those with reference eq % compare } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Expected output of this program: % % The output send to std::cout is a superposition of the output of % the voltmeter and the spike detector. Both, voltmeter and spike % detector are connected to the same neuron. % % time (in steps) voltage (in mV) [ [1 -70] [2 -70] [3 -70] [4 -70] % [27 -70] [28 -70] [29 -70] [30 -70] [31 -6.999740e+01] [32 -6.998990e+01] [33 -6.997810e+01] [34 -6.996240e+01] [35 -6.994340e+01] % [45 -6.964350e+01] [46 -6.960840e+01] [47 -6.957320e+01] [48 -6.953800e+01] [49 -6.950290e+01] [50 -6.946810e+01] [51 -6.943360e+01] [52 -6.939950e+01] [53 -6.936600e+01] [54 -6.933300e+01] [55 -6.930080e+01] % [60 -6.915080e+01] ] exch assert_or_die