nestml 8.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nestml-8.3.0.data/data/doc/citing.rst +48 -0
- nestml-8.3.0.data/data/doc/extending/Dimitri_Plotnikov_Doctoral_Thesis.pdf +0 -0
- nestml-8.3.0.data/data/doc/extending/Konstantin_Perun_Master_thesis.pdf +0 -0
- nestml-8.3.0.data/data/doc/extending/Tammo_Ippen_Master_Thesis.pdf +0 -0
- nestml-8.3.0.data/data/doc/extending.rst +79 -0
- nestml-8.3.0.data/data/doc/fig/Asymmetric-STDP-learning-window-Spike-timing-window-of-STDP-for-the-induction-of.png +0 -0
- nestml-8.3.0.data/data/doc/fig/code_gen_opts.png +0 -0
- nestml-8.3.0.data/data/doc/fig/code_gen_opts.svg +342 -0
- nestml-8.3.0.data/data/doc/fig/fncom-04-00141-g003.jpg +0 -0
- nestml-8.3.0.data/data/doc/fig/genn-logo-thumbnail.png +0 -0
- nestml-8.3.0.data/data/doc/fig/genn-logo.png +0 -0
- nestml-8.3.0.data/data/doc/fig/integration_order.pdf +0 -0
- nestml-8.3.0.data/data/doc/fig/integration_order.png +0 -0
- nestml-8.3.0.data/data/doc/fig/integration_order_example.png +0 -0
- nestml-8.3.0.data/data/doc/fig/internal_workflow.png +0 -0
- nestml-8.3.0.data/data/doc/fig/internal_workflow.svg +1242 -0
- nestml-8.3.0.data/data/doc/fig/nest-desktop.svg +118 -0
- nestml-8.3.0.data/data/doc/fig/nest-gpu.svg +92 -0
- nestml-8.3.0.data/data/doc/fig/nest-simulator-logo.png +0 -0
- nestml-8.3.0.data/data/doc/fig/nestml-multisynapse-example.png +0 -0
- nestml-8.3.0.data/data/doc/fig/nestml_code_render_merged.png +0 -0
- nestml-8.3.0.data/data/doc/fig/nestml_code_render_thumbnail.png +0 -0
- nestml-8.3.0.data/data/doc/fig/neuron_illustration.svg +133 -0
- nestml-8.3.0.data/data/doc/fig/neuron_synapse_co_generation.png +0 -0
- nestml-8.3.0.data/data/doc/fig/neuron_synapse_co_generation.svg +555 -0
- nestml-8.3.0.data/data/doc/fig/performance_ratio_nonVec_vs_vec_compartmental.png +0 -0
- nestml-8.3.0.data/data/doc/fig/python-logo.png +0 -0
- nestml-8.3.0.data/data/doc/fig/spinnaker_logo.svg +169 -0
- nestml-8.3.0.data/data/doc/fig/stdp-nearest-neighbour.png +0 -0
- nestml-8.3.0.data/data/doc/fig/stdp_synapse_test.png +0 -0
- nestml-8.3.0.data/data/doc/fig/stdp_test_window.png +0 -0
- nestml-8.3.0.data/data/doc/fig/stdp_triplet_synapse_test.png +0 -0
- nestml-8.3.0.data/data/doc/fig/synapse_illustration.svg +661 -0
- nestml-8.3.0.data/data/doc/getting_help.rst +21 -0
- nestml-8.3.0.data/data/doc/installation.rst +107 -0
- nestml-8.3.0.data/data/doc/license.rst +287 -0
- nestml-8.3.0.data/data/doc/models_library/aeif_cond_alpha_neuron.rst +137 -0
- nestml-8.3.0.data/data/doc/models_library/aeif_cond_exp_neuron.rst +140 -0
- nestml-8.3.0.data/data/doc/models_library/aeif_cond_exp_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/aeif_psc_alpha_neuron.rst +119 -0
- nestml-8.3.0.data/data/doc/models_library/hh_cond_exp_destexhe_neuron.rst +148 -0
- nestml-8.3.0.data/data/doc/models_library/hh_cond_exp_traub_neuron.rst +153 -0
- nestml-8.3.0.data/data/doc/models_library/hh_cond_exp_traub_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/hh_moto_5ht_neuron.rst +157 -0
- nestml-8.3.0.data/data/doc/models_library/hh_psc_alpha_neuron.rst +141 -0
- nestml-8.3.0.data/data/doc/models_library/hh_psc_alpha_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/hill_tononi_neuron.rst +173 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_chxk_2008_neuron.rst +122 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_chxk_2008_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_alpha_neuron.rst +120 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_alpha_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_beta_neuron.rst +133 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_beta_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_exp_neuron.rst +109 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_exp_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_exp_sfa_rr_neuron.rst +129 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_cond_exp_sfa_rr_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_alpha_neuron.rst +139 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_alpha_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_delta_fixed_timestep_neuron.rst +107 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_delta_neuron.rst +118 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_delta_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_exp_htum_neuron.rst +132 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_exp_neuron.rst +143 -0
- nestml-8.3.0.data/data/doc/models_library/iaf_psc_exp_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/ignore_and_fire_neuron.rst +89 -0
- nestml-8.3.0.data/data/doc/models_library/index.rst +534 -0
- nestml-8.3.0.data/data/doc/models_library/izhikevich_neuron.rst +115 -0
- nestml-8.3.0.data/data/doc/models_library/izhikevich_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/izhikevich_psc_alpha_neuron.rst +126 -0
- nestml-8.3.0.data/data/doc/models_library/mat2_psc_exp_neuron.rst +131 -0
- nestml-8.3.0.data/data/doc/models_library/mat2_psc_exp_neuron_characterisation.rst +18 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[aeif_cond_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[aeif_cond_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[hh_cond_exp_traub_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[hh_cond_exp_traub_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[hh_psc_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[hh_psc_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_chxk_2008_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_chxk_2008_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_beta_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_beta_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_sfa_rr_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_cond_exp_sfa_rr_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_psc_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_psc_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_psc_delta_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_psc_delta_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_psc_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[iaf_psc_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[izhikevich_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[izhikevich_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[mat2_psc_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_current_pulse_response_[mat2_psc_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[aeif_cond_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[aeif_cond_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[hh_cond_exp_traub_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[hh_cond_exp_traub_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[hh_psc_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[hh_psc_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_chxk_2008_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_chxk_2008_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_beta_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_beta_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_exp_sfa_rr_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_cond_exp_sfa_rr_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_psc_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_psc_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_psc_delta_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_psc_delta_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_psc_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[iaf_psc_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[izhikevich_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[izhikevich_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[mat2_psc_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_fI_curve_[mat2_psc_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[aeif_cond_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[aeif_cond_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[hh_cond_exp_traub_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[hh_cond_exp_traub_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[hh_psc_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[hh_psc_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_chxk_2008_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_chxk_2008_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_beta_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_beta_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_exp_sfa_rr_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_cond_exp_sfa_rr_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_psc_alpha_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_psc_alpha_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_psc_delta_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_psc_delta_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_psc_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[iaf_psc_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[izhikevich_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[izhikevich_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[mat2_psc_exp_neuron_nestml].png +0 -0
- nestml-8.3.0.data/data/doc/models_library/nestml_psp_[mat2_psc_exp_neuron_nestml]_small.png +0 -0
- nestml-8.3.0.data/data/doc/models_library/neuromodulated_stdp_synapse.rst +75 -0
- nestml-8.3.0.data/data/doc/models_library/noisy_synapse.rst +37 -0
- nestml-8.3.0.data/data/doc/models_library/output.html +420 -0
- nestml-8.3.0.data/data/doc/models_library/static_synapse.rst +35 -0
- nestml-8.3.0.data/data/doc/models_library/stdp_nn_pre_centered_synapse.rst +99 -0
- nestml-8.3.0.data/data/doc/models_library/stdp_nn_restr_symm_synapse.rst +92 -0
- nestml-8.3.0.data/data/doc/models_library/stdp_nn_symm_synapse.rst +96 -0
- nestml-8.3.0.data/data/doc/models_library/stdp_synapse.rst +82 -0
- nestml-8.3.0.data/data/doc/models_library/stdp_triplet_synapse.rst +69 -0
- nestml-8.3.0.data/data/doc/models_library/terub_gpe_neuron.rst +124 -0
- nestml-8.3.0.data/data/doc/models_library/terub_stn_neuron.rst +125 -0
- nestml-8.3.0.data/data/doc/models_library/traub_cond_multisyn_neuron.rst +145 -0
- nestml-8.3.0.data/data/doc/models_library/traub_psc_alpha_neuron.rst +116 -0
- nestml-8.3.0.data/data/doc/models_library/tsodyks_synapse.rst +109 -0
- nestml-8.3.0.data/data/doc/models_library/wb_cond_exp_neuron.rst +122 -0
- nestml-8.3.0.data/data/doc/models_library/wb_cond_multisyn_neuron.rst +144 -0
- nestml-8.3.0.data/data/doc/nestml-logo/nestml-logo.pdf +0 -0
- nestml-8.3.0.data/data/doc/nestml-logo/nestml-logo.png +0 -0
- nestml-8.3.0.data/data/doc/nestml-logo/nestml-logo.svg +125 -0
- nestml-8.3.0.data/data/doc/nestml_language/index.rst +13 -0
- nestml-8.3.0.data/data/doc/nestml_language/nestml_language_concepts.rst +1174 -0
- nestml-8.3.0.data/data/doc/nestml_language/neurons_in_nestml.rst +256 -0
- nestml-8.3.0.data/data/doc/nestml_language/synapses_in_nestml.rst +488 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/back.rst +198 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/extensions.rst +117 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/front.rst +304 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/index.rst +36 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/middle.rst +88 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_AnGen_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_different_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_genFiles_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_overview_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_phy_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_primTypes_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_proc_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_processor_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_solver_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_template_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_toCpp_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_toJson_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_toNest_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_toScalar_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_trans_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/back_used_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/dsl_archi_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/ext_back_temp_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/ext_front_astB_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/ext_front_astVisitor_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/ext_front_cocos_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/ext_front_context_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/ext_front_gram_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/ext_front_symbolVisitor_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_astclasses_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_builder_code_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_cocos_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_cocos_example_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_combunits_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_commentCD_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_comment_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_gram2ast_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_grammar_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_overview_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_parser_overview_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_predefined_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_processing_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_resolve_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_semantics_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_simple_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_symbols_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_symbolsetup_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_transdata_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_transexpr_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/front_typevisitoroverview_cropped.jpg +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_higher.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_higher_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_logger.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_logger_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_oldvis.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_oldvis_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_overview.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_overview_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_processing.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_processing_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_trans.png +0 -0
- nestml-8.3.0.data/data/doc/pynestml_toolchain/pic/mid_trans_cropped.png +0 -0
- nestml-8.3.0.data/data/doc/requirements.txt +23 -0
- nestml-8.3.0.data/data/doc/running/Schmidt_SpiNNaker_NESTML_Masters_thesis_2023.pdf +0 -0
- nestml-8.3.0.data/data/doc/running/index.rst +254 -0
- nestml-8.3.0.data/data/doc/running/running_genn.rst +37 -0
- nestml-8.3.0.data/data/doc/running/running_nest.rst +438 -0
- nestml-8.3.0.data/data/doc/running/running_nest_compartmental.rst +190 -0
- nestml-8.3.0.data/data/doc/running/running_nest_desktop.rst +22 -0
- nestml-8.3.0.data/data/doc/running/running_nest_gpu.rst +51 -0
- nestml-8.3.0.data/data/doc/running/running_pretty_render.rst +14 -0
- nestml-8.3.0.data/data/doc/running/running_python_standalone.rst +39 -0
- nestml-8.3.0.data/data/doc/running/running_spinnaker.rst +67 -0
- nestml-8.3.0.data/data/doc/sphinx-apidoc/_static/css/custom.css +148 -0
- nestml-8.3.0.data/data/doc/sphinx-apidoc/_static/css/pygments.css +70 -0
- nestml-8.3.0.data/data/doc/sphinx-apidoc/conf.py +306 -0
- nestml-8.3.0.data/data/doc/sphinx-apidoc/index.rst +73 -0
- nestml-8.3.0.data/data/doc/tutorials/active_dendrite/nestml_active_dendrite_tutorial.ipynb +711 -0
- nestml-8.3.0.data/data/doc/tutorials/gl_model/gl_model_tutorial.ipynb +536 -0
- nestml-8.3.0.data/data/doc/tutorials/index.rst +5 -0
- nestml-8.3.0.data/data/doc/tutorials/inhomogeneous_poisson/inhomogeneous_poisson.ipynb +372 -0
- nestml-8.3.0.data/data/doc/tutorials/inhomogeneous_poisson/inhomogeneous_poisson.nestml +51 -0
- nestml-8.3.0.data/data/doc/tutorials/izhikevich/izhikevich_solution.nestml +59 -0
- nestml-8.3.0.data/data/doc/tutorials/izhikevich/izhikevich_task.nestml +61 -0
- nestml-8.3.0.data/data/doc/tutorials/izhikevich/nestml_izhikevich_tutorial.ipynb +284 -0
- nestml-8.3.0.data/data/doc/tutorials/ornstein_uhlenbeck_noise/nestml_ou_noise_tutorial.ipynb +858 -0
- nestml-8.3.0.data/data/doc/tutorials/sequence_learning/iaf_psc_exp_nonlineardendrite_neuron.nestml +140 -0
- nestml-8.3.0.data/data/doc/tutorials/sequence_learning/sequence_learning.ipynb +3739 -0
- nestml-8.3.0.data/data/doc/tutorials/spike_frequency_adaptation/models/iaf_psc_alpha.nestml +116 -0
- nestml-8.3.0.data/data/doc/tutorials/spike_frequency_adaptation/models/iaf_psc_alpha_adapt_curr.nestml +133 -0
- nestml-8.3.0.data/data/doc/tutorials/spike_frequency_adaptation/models/iaf_psc_alpha_adapt_thresh.nestml +121 -0
- nestml-8.3.0.data/data/doc/tutorials/spike_frequency_adaptation/models/iaf_psc_alpha_adapt_thresh_OU.nestml +131 -0
- nestml-8.3.0.data/data/doc/tutorials/spike_frequency_adaptation/nestml_spike_frequency_adaptation_tutorial.ipynb +1309 -0
- nestml-8.3.0.data/data/doc/tutorials/stdp_dopa_synapse/stdp_dopa_synapse.ipynb +2310 -0
- nestml-8.3.0.data/data/doc/tutorials/stdp_third_factor_active_dendrite/stdp_third_factor_active_dendrite.ipynb +1623 -0
- nestml-8.3.0.data/data/doc/tutorials/stdp_windows/stdp_windows.ipynb +965 -0
- nestml-8.3.0.data/data/doc/tutorials/triplet_stdp_synapse/triplet_stdp_synapse.ipynb +1350 -0
- nestml-8.3.0.data/data/doc/tutorials/tutorials_list.rst +50 -0
- nestml-8.3.0.data/data/extras/benchmark/Running/benchmark.py +791 -0
- nestml-8.3.0.data/data/extras/benchmark/Running/brunel_alpha_nest.py +708 -0
- nestml-8.3.0.data/data/extras/benchmark/Running/plotting_options.py +17 -0
- nestml-8.3.0.data/data/extras/benchmark/Running/sbatch_run.sh.jinja2 +26 -0
- nestml-8.3.0.data/data/extras/benchmark/buildAll.sh +39 -0
- nestml-8.3.0.data/data/extras/benchmark/compile_nest.sh +24 -0
- nestml-8.3.0.data/data/extras/benchmark/updateCustomNeurons.sh +31 -0
- nestml-8.3.0.data/data/extras/codeanalysis/check_copyright_headers.py +119 -0
- nestml-8.3.0.data/data/extras/codeanalysis/copyright_header_template.py +20 -0
- nestml-8.3.0.data/data/extras/convert_cm_default_to_template.py +152 -0
- nestml-8.3.0.data/data/extras/nestml-release-checklist.md +68 -0
- nestml-8.3.0.data/data/extras/spinnaker-apptainer.def +106 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/KatePart/README.md +40 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/KatePart/language.xsd +682 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/KatePart/nestml-highlight.xml +3380 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/geany/Readme.md +15 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/geany/filetypes.NestML.conf +56 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/pygments/pygments_nestml.py +83 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/visual-code/Readme.md +16 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/visual-code/nestml/.vscode/launch.json +18 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/visual-code/nestml/language-configuration.json +33 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/visual-code/nestml/package.json +25 -0
- nestml-8.3.0.data/data/extras/syntax-highlighting/visual-code/nestml/syntaxes/nestml.tmLanguage.json +613 -0
- nestml-8.3.0.data/data/models/neurons/aeif_cond_alpha_alt_neuron.nestml +122 -0
- nestml-8.3.0.data/data/models/neurons/aeif_cond_alpha_neuron.nestml +147 -0
- nestml-8.3.0.data/data/models/neurons/aeif_cond_exp_neuron.nestml +141 -0
- nestml-8.3.0.data/data/models/neurons/aeif_psc_alpha_neuron.nestml +119 -0
- nestml-8.3.0.data/data/models/neurons/aeif_psc_exp_neuron.nestml +113 -0
- nestml-8.3.0.data/data/models/neurons/hh_cond_exp_destexhe_neuron.nestml +173 -0
- nestml-8.3.0.data/data/models/neurons/hh_cond_exp_traub_neuron.nestml +157 -0
- nestml-8.3.0.data/data/models/neurons/hh_moto_5ht_neuron.nestml +180 -0
- nestml-8.3.0.data/data/models/neurons/hh_psc_alpha_neuron.nestml +152 -0
- nestml-8.3.0.data/data/models/neurons/hill_tononi_neuron.nestml +257 -0
- nestml-8.3.0.data/data/models/neurons/iaf_chxk_2008_neuron.nestml +128 -0
- nestml-8.3.0.data/data/models/neurons/iaf_cond_alpha_neuron.nestml +113 -0
- nestml-8.3.0.data/data/models/neurons/iaf_cond_beta_neuron.nestml +141 -0
- nestml-8.3.0.data/data/models/neurons/iaf_cond_exp_neuron.nestml +103 -0
- nestml-8.3.0.data/data/models/neurons/iaf_cond_exp_sfa_rr_neuron.nestml +123 -0
- nestml-8.3.0.data/data/models/neurons/iaf_psc_alpha_neuron.nestml +109 -0
- nestml-8.3.0.data/data/models/neurons/iaf_psc_delta_fixed_timestep_neuron.nestml +99 -0
- nestml-8.3.0.data/data/models/neurons/iaf_psc_delta_neuron.nestml +103 -0
- nestml-8.3.0.data/data/models/neurons/iaf_psc_exp_htum_neuron.nestml +117 -0
- nestml-8.3.0.data/data/models/neurons/iaf_psc_exp_neuron.nestml +120 -0
- nestml-8.3.0.data/data/models/neurons/ignore_and_fire_neuron.nestml +68 -0
- nestml-8.3.0.data/data/models/neurons/izhikevich_neuron.nestml +100 -0
- nestml-8.3.0.data/data/models/neurons/izhikevich_psc_alpha_neuron.nestml +117 -0
- nestml-8.3.0.data/data/models/neurons/mat2_psc_exp_neuron.nestml +126 -0
- nestml-8.3.0.data/data/models/neurons/terub_gpe_neuron.nestml +174 -0
- nestml-8.3.0.data/data/models/neurons/terub_stn_neuron.nestml +183 -0
- nestml-8.3.0.data/data/models/neurons/traub_cond_multisyn_neuron.nestml +197 -0
- nestml-8.3.0.data/data/models/neurons/traub_psc_alpha_neuron.nestml +127 -0
- nestml-8.3.0.data/data/models/neurons/wb_cond_exp_neuron.nestml +144 -0
- nestml-8.3.0.data/data/models/neurons/wb_cond_multisyn_neuron.nestml +202 -0
- nestml-8.3.0.data/data/models/synapses/neuromodulated_stdp_synapse.nestml +110 -0
- nestml-8.3.0.data/data/models/synapses/noisy_synapse.nestml +45 -0
- nestml-8.3.0.data/data/models/synapses/static_synapse.nestml +39 -0
- nestml-8.3.0.data/data/models/synapses/stdp_nn_pre_centered_synapse.nestml +124 -0
- nestml-8.3.0.data/data/models/synapses/stdp_nn_restr_symm_synapse.nestml +121 -0
- nestml-8.3.0.data/data/models/synapses/stdp_nn_symm_synapse.nestml +120 -0
- nestml-8.3.0.data/data/models/synapses/stdp_synapse.nestml +105 -0
- nestml-8.3.0.data/data/models/synapses/stdp_triplet_synapse.nestml +103 -0
- nestml-8.3.0.data/data/models/synapses/stdsp_synapse.nestml +108 -0
- nestml-8.3.0.data/data/models/synapses/tsodyks_synapse.nestml +127 -0
- nestml-8.3.0.dist-info/LICENSE +339 -0
- nestml-8.3.0.dist-info/METADATA +18 -0
- nestml-8.3.0.dist-info/RECORD +917 -0
- nestml-8.3.0.dist-info/WHEEL +5 -0
- nestml-8.3.0.dist-info/entry_points.txt +2 -0
- nestml-8.3.0.dist-info/top_level.txt +2 -0
- pynestml/__init__.py +34 -0
- pynestml/cocos/__init__.py +48 -0
- pynestml/cocos/co_co.py +44 -0
- pynestml/cocos/co_co_all_variables_defined.py +134 -0
- pynestml/cocos/co_co_cm_channel_model.py +35 -0
- pynestml/cocos/co_co_cm_concentration_model.py +36 -0
- pynestml/cocos/co_co_cm_continuous_input_model.py +36 -0
- pynestml/cocos/co_co_cm_synapse_model.py +36 -0
- pynestml/cocos/co_co_convolve_cond_correctly_built.py +71 -0
- pynestml/cocos/co_co_convolve_has_correct_parameter.py +65 -0
- pynestml/cocos/co_co_correct_numerator_of_unit.py +64 -0
- pynestml/cocos/co_co_correct_order_in_equation.py +64 -0
- pynestml/cocos/co_co_each_block_defined_at_most_once.py +92 -0
- pynestml/cocos/co_co_emit_spike_function_arguments.py +68 -0
- pynestml/cocos/co_co_equations_only_for_init_values.py +81 -0
- pynestml/cocos/co_co_function_argument_template_types_consistent.py +105 -0
- pynestml/cocos/co_co_function_calls_consistent.py +113 -0
- pynestml/cocos/co_co_function_unique.py +69 -0
- pynestml/cocos/co_co_illegal_expression.py +264 -0
- pynestml/cocos/co_co_inline_expression_not_assigned_to.py +55 -0
- pynestml/cocos/co_co_inline_expressions_have_rhs.py +57 -0
- pynestml/cocos/co_co_inline_max_one_lhs.py +62 -0
- pynestml/cocos/co_co_input_port_not_assigned_to.py +72 -0
- pynestml/cocos/co_co_input_port_qualifier_unique.py +72 -0
- pynestml/cocos/co_co_integrate_odes_called_if_equations_defined.py +77 -0
- pynestml/cocos/co_co_integrate_odes_params_correct.py +57 -0
- pynestml/cocos/co_co_internals_assigned_only_in_internals_block.py +67 -0
- pynestml/cocos/co_co_invariant_is_boolean.py +72 -0
- pynestml/cocos/co_co_kernel_type.py +98 -0
- pynestml/cocos/co_co_model_name_unique.py +59 -0
- pynestml/cocos/co_co_nest_random_functions_legally_used.py +73 -0
- pynestml/cocos/co_co_nest_synapse_delay_not_assigned_to.py +55 -0
- pynestml/cocos/co_co_no_duplicate_compilation_unit_names.py +51 -0
- pynestml/cocos/co_co_no_kernels_except_in_convolve.py +158 -0
- pynestml/cocos/co_co_no_nest_name_space_collision.py +60 -0
- pynestml/cocos/co_co_ode_functions_have_consistent_units.py +57 -0
- pynestml/cocos/co_co_odes_have_consistent_units.py +72 -0
- pynestml/cocos/co_co_output_port_defined_if_emit_call.py +87 -0
- pynestml/cocos/co_co_parameters_assigned_only_in_parameter_block.py +75 -0
- pynestml/cocos/co_co_priorities_correctly_specified.py +64 -0
- pynestml/cocos/co_co_resolution_func_legally_used.py +71 -0
- pynestml/cocos/co_co_resolution_func_used.py +54 -0
- pynestml/cocos/co_co_simple_delta_function.py +66 -0
- pynestml/cocos/co_co_state_variables_initialized.py +44 -0
- pynestml/cocos/co_co_timestep_function_legally_used.py +75 -0
- pynestml/cocos/co_co_user_defined_function_correctly_defined.py +159 -0
- pynestml/cocos/co_co_v_comp_exists.py +77 -0
- pynestml/cocos/co_co_variable_once_per_scope.py +76 -0
- pynestml/cocos/co_co_vector_declaration_right_size.py +94 -0
- pynestml/cocos/co_co_vector_input_port_correct_size_type.py +63 -0
- pynestml/cocos/co_co_vector_parameter_declared_in_right_block.py +65 -0
- pynestml/cocos/co_co_vector_variable_in_non_vector_declaration.py +75 -0
- pynestml/cocos/co_cos_manager.py +496 -0
- pynestml/codegeneration/__init__.py +30 -0
- pynestml/codegeneration/autodoc_builder.py +363 -0
- pynestml/codegeneration/autodoc_code_generator.py +187 -0
- pynestml/codegeneration/builder.py +85 -0
- pynestml/codegeneration/code_generator.py +243 -0
- pynestml/codegeneration/code_generator_utils.py +133 -0
- pynestml/codegeneration/genn_code_generator.py +188 -0
- pynestml/codegeneration/nest_assignments_helper.py +147 -0
- pynestml/codegeneration/nest_builder.py +197 -0
- pynestml/codegeneration/nest_code_generator.py +1030 -0
- pynestml/codegeneration/nest_code_generator_utils.py +157 -0
- pynestml/codegeneration/nest_compartmental_code_generator.py +952 -0
- pynestml/codegeneration/nest_declarations_helper.py +119 -0
- pynestml/codegeneration/nest_desktop_code_generator.py +84 -0
- pynestml/codegeneration/nest_gpu_builder.py +115 -0
- pynestml/codegeneration/nest_gpu_code_generator.py +207 -0
- pynestml/codegeneration/nest_gpu_code_generator_utils.py +67 -0
- pynestml/codegeneration/nest_tools.py +163 -0
- pynestml/codegeneration/nest_unit_converter.py +79 -0
- pynestml/codegeneration/pretty_render_code_generator.py +117 -0
- pynestml/codegeneration/printers/__init__.py +54 -0
- pynestml/codegeneration/printers/ast_printer.py +41 -0
- pynestml/codegeneration/printers/c_simple_expression_printer.py +84 -0
- pynestml/codegeneration/printers/constant_printer.py +39 -0
- pynestml/codegeneration/printers/cpp_expression_printer.py +253 -0
- pynestml/codegeneration/printers/cpp_function_call_printer.py +220 -0
- pynestml/codegeneration/printers/cpp_printer.py +111 -0
- pynestml/codegeneration/printers/cpp_simple_expression_printer.py +35 -0
- pynestml/codegeneration/printers/cpp_type_symbol_printer.py +67 -0
- pynestml/codegeneration/printers/cpp_variable_printer.py +57 -0
- pynestml/codegeneration/printers/cuda_function_call_printer.py +182 -0
- pynestml/codegeneration/printers/expression_printer.py +54 -0
- pynestml/codegeneration/printers/function_call_printer.py +65 -0
- pynestml/codegeneration/printers/genn_c_variable_printer.py +154 -0
- pynestml/codegeneration/printers/genn_derived_variable_printer.py +140 -0
- pynestml/codegeneration/printers/genn_function_call_printer.py +220 -0
- pynestml/codegeneration/printers/gsl_variable_printer.py +110 -0
- pynestml/codegeneration/printers/latex_expression_printer.py +153 -0
- pynestml/codegeneration/printers/latex_function_call_printer.py +94 -0
- pynestml/codegeneration/printers/latex_simple_expression_printer.py +70 -0
- pynestml/codegeneration/printers/latex_variable_printer.py +106 -0
- pynestml/codegeneration/printers/model_printer.py +313 -0
- pynestml/codegeneration/printers/nest2_cpp_function_call_printer.py +56 -0
- pynestml/codegeneration/printers/nest2_gsl_function_call_printer.py +52 -0
- pynestml/codegeneration/printers/nest_cpp_function_call_printer.py +66 -0
- pynestml/codegeneration/printers/nest_cpp_type_symbol_printer.py +42 -0
- pynestml/codegeneration/printers/nest_gpu_function_call_printer.py +58 -0
- pynestml/codegeneration/printers/nest_gpu_numeric_function_call_printer.py +46 -0
- pynestml/codegeneration/printers/nest_gpu_numeric_variable_printer.py +92 -0
- pynestml/codegeneration/printers/nest_gpu_variable_printer.py +95 -0
- pynestml/codegeneration/printers/nest_gsl_function_call_printer.py +52 -0
- pynestml/codegeneration/printers/nest_variable_printer.py +190 -0
- pynestml/codegeneration/printers/nestml_expression_printer.py +167 -0
- pynestml/codegeneration/printers/nestml_function_call_printer.py +40 -0
- pynestml/codegeneration/printers/nestml_printer.py +557 -0
- pynestml/codegeneration/printers/nestml_simple_expression_printer.py +75 -0
- pynestml/codegeneration/printers/nestml_simple_expression_printer_units_as_factors.py +39 -0
- pynestml/codegeneration/printers/nestml_variable_printer.py +42 -0
- pynestml/codegeneration/printers/ode_toolbox_expression_printer.py +79 -0
- pynestml/codegeneration/printers/ode_toolbox_function_call_printer.py +139 -0
- pynestml/codegeneration/printers/ode_toolbox_variable_printer.py +37 -0
- pynestml/codegeneration/printers/python_expression_printer.py +242 -0
- pynestml/codegeneration/printers/python_function_call_printer.py +157 -0
- pynestml/codegeneration/printers/python_simple_expression_printer.py +81 -0
- pynestml/codegeneration/printers/python_standalone_printer.py +111 -0
- pynestml/codegeneration/printers/python_stepping_function_function_call_printer.py +70 -0
- pynestml/codegeneration/printers/python_stepping_function_variable_printer.py +80 -0
- pynestml/codegeneration/printers/python_type_symbol_printer.py +67 -0
- pynestml/codegeneration/printers/python_variable_printer.py +156 -0
- pynestml/codegeneration/printers/simple_expression_printer.py +67 -0
- pynestml/codegeneration/printers/spinnaker_c_function_call_printer.py +139 -0
- pynestml/codegeneration/printers/spinnaker_c_type_symbol_printer.py +67 -0
- pynestml/codegeneration/printers/spinnaker_c_variable_printer.py +159 -0
- pynestml/codegeneration/printers/spinnaker_gsl_function_call_printer.py +52 -0
- pynestml/codegeneration/printers/spinnaker_python_function_call_printer.py +65 -0
- pynestml/codegeneration/printers/spinnaker_python_simple_expression_printer.py +85 -0
- pynestml/codegeneration/printers/spinnaker_python_type_symbol_printer.py +67 -0
- pynestml/codegeneration/printers/symbol_printer.py +35 -0
- pynestml/codegeneration/printers/sympy_simple_expression_printer.py +93 -0
- pynestml/codegeneration/printers/type_symbol_printer.py +36 -0
- pynestml/codegeneration/printers/unitless_c_simple_expression_printer.py +52 -0
- pynestml/codegeneration/printers/variable_printer.py +61 -0
- pynestml/codegeneration/python_code_generator_utils.py +54 -0
- pynestml/codegeneration/python_standalone_code_generator.py +125 -0
- pynestml/codegeneration/python_standalone_target_tools.py +102 -0
- pynestml/codegeneration/resources_autodoc/block_decl_table.jinja2 +24 -0
- pynestml/codegeneration/resources_autodoc/nestml_models_index.jinja2 +21 -0
- pynestml/codegeneration/resources_autodoc/nestml_neuron_model.jinja2 +56 -0
- pynestml/codegeneration/resources_autodoc/nestml_synapse_model.jinja2 +36 -0
- pynestml/codegeneration/resources_nest/point_neuron/@NEURON_NAME@.cpp.jinja2 +21 -0
- pynestml/codegeneration/resources_nest/point_neuron/@NEURON_NAME@.h.jinja2 +21 -0
- pynestml/codegeneration/resources_nest/point_neuron/@SYNAPSE_NAME@.h.jinja2 +21 -0
- pynestml/codegeneration/resources_nest/point_neuron/common/NeuronClass.jinja2 +1569 -0
- pynestml/codegeneration/resources_nest/point_neuron/common/NeuronHeader.jinja2 +1292 -0
- pynestml/codegeneration/resources_nest/point_neuron/common/SynapseHeader.h.jinja2 +1648 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/AnalyticIntegrationStep_begin.jinja2 +16 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/AnalyticIntegrationStep_end.jinja2 +11 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/ApplySpikesFromBuffers.jinja2 +6 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/AssignTmpDictionaryValue.jinja2 +10 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/Assignment.jinja2 +7 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/BufferDeclaration.jinja2 +4 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/BufferInitialization.jinja2 +5 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/CommonPropertiesDictionaryMemberInitialization.jinja2 +18 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/CommonPropertiesDictionaryReader.jinja2 +9 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/CommonPropertiesDictionaryWriter.jinja2 +10 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/CompoundStatement.jinja2 +18 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/ContinuousInputBufferGetter.jinja2 +28 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/Declaration.jinja2 +21 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/DelayVariablesDeclaration.jinja2 +8 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/DelayVariablesInitialization.jinja2 +8 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/DynamicStateElement.jinja2 +48 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/ExistsInDictionary.jinja2 +19 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/ForStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/FunctionCall.jinja2 +13 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/FunctionDeclaration.jinja2 +20 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/GSLDifferentiationFunction.jinja2 +110 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/GSLIntegrationStep.jinja2 +74 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/GetValueFromDictionary.jinja2 +18 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/IfStatement.jinja2 +33 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/MemberDeclaration.jinja2 +10 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/MemberInitialization.jinja2 +20 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/MemberVariableGetter.jinja2 +11 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/MemberVariableSetter.jinja2 +6 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/OutputEvent.jinja2 +18 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/PredefinedFunction_emit_spike.jinja2 +40 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/PredefinedFunction_integrate_odes.jinja2 +69 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/ReadFromDictionary.jinja2 +36 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/ReadFromDictionaryToTmp.jinja2 +66 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/RemoveFromDictionary.jinja2 +18 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/ReturnStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/RportToBufferIndexEntry.jinja2 +20 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/SmallStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/SpikeBufferGetter.jinja2 +28 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/StateVariablesEnum.jinja2 +22 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/Statement.jinja2 +16 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/StmtsBody.jinja2 +9 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/UpdateDelayVariables.jinja2 +6 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/VectorDeclaration.jinja2 +5 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/VectorSizeParameter.jinja2 +13 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/WhileStatement.jinja2 +13 -0
- pynestml/codegeneration/resources_nest/point_neuron/directives_cpp/WriteInDictionary.jinja2 +18 -0
- pynestml/codegeneration/resources_nest/point_neuron/setup/@MODULE_NAME@.cpp.jinja2 +27 -0
- pynestml/codegeneration/resources_nest/point_neuron/setup/@MODULE_NAME@.h.jinja2 +24 -0
- pynestml/codegeneration/resources_nest/point_neuron/setup/CMakeLists.txt.jinja2 +288 -0
- pynestml/codegeneration/resources_nest/point_neuron/setup/common/ModuleClass.jinja2 +138 -0
- pynestml/codegeneration/resources_nest/point_neuron/setup/common/ModuleClassMaster.jinja2 +84 -0
- pynestml/codegeneration/resources_nest/point_neuron/setup/common/ModuleHeader.jinja2 +92 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/@NEURON_NAME@.cpp.jinja2 +297 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/@NEURON_NAME@.h.jinja2 +353 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/cm_neuroncurrents_@NEURON_NAME@.cpp.jinja2 +1036 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/cm_neuroncurrents_@NEURON_NAME@.h.jinja2 +943 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/cm_tree_@NEURON_NAME@.cpp.jinja2 +672 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/cm_tree_@NEURON_NAME@.h.jinja2 +270 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/AnalyticIntegrationStep_begin.jinja2 +16 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/AnalyticIntegrationStep_end.jinja2 +11 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/ApplySpikesFromBuffers.jinja2 +6 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/AssignTmpDictionaryValue.jinja2 +10 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/Assignment.jinja2 +7 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/BufferDeclaration.jinja2 +4 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/BufferInitialization.jinja2 +5 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/CommonPropertiesDictionaryMemberInitialization.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/CommonPropertiesDictionaryReader.jinja2 +9 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/CommonPropertiesDictionaryWriter.jinja2 +10 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/CompoundStatement.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/ContinuousInputBufferGetter.jinja2 +28 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/Declaration.jinja2 +21 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/DelayVariablesDeclaration.jinja2 +8 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/DelayVariablesInitialization.jinja2 +8 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/DynamicStateElement.jinja2 +48 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/ExistsInDictionary.jinja2 +19 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/ForStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/FunctionCall.jinja2 +13 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/FunctionDeclaration.jinja2 +20 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/GSLDifferentiationFunction.jinja2 +110 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/GSLIntegrationStep.jinja2 +74 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/GetValueFromDictionary.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/IfStatement.jinja2 +33 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/MemberDeclaration.jinja2 +10 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/MemberInitialization.jinja2 +20 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/MemberVariableGetter.jinja2 +11 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/MemberVariableSetter.jinja2 +6 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/OutputEvent.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/PredefinedFunction_emit_spike.jinja2 +40 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/PredefinedFunction_integrate_odes.jinja2 +69 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/ReadFromDictionary.jinja2 +36 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/ReadFromDictionaryToTmp.jinja2 +66 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/RemoveFromDictionary.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/ReturnStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/RportToBufferIndexEntry.jinja2 +20 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/SmallStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/SpikeBufferGetter.jinja2 +28 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/StateVariablesEnum.jinja2 +22 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/Statement.jinja2 +16 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/StmtsBody.jinja2 +9 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/UpdateDelayVariables.jinja2 +6 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/VectorDeclaration.jinja2 +5 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/VectorSizeParameter.jinja2 +13 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/WhileStatement.jinja2 +13 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/directives_cpp/WriteInDictionary.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/setup/@MODULE_NAME@.cpp.jinja2 +27 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/setup/@MODULE_NAME@.h.jinja2 +24 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/setup/CMakeLists.txt.jinja2 +292 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/setup/common/ModuleClass.jinja2 +126 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/setup/common/ModuleClassMaster.jinja2 +71 -0
- pynestml/codegeneration/resources_nest_compartmental/cm_neuron/setup/common/ModuleHeader.jinja2 +92 -0
- pynestml/codegeneration/resources_nest_desktop/@NEURON_NAME@.json.jinja2 +15 -0
- pynestml/codegeneration/resources_nest_desktop/VariableDeclaration.jinja2 +12 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/@NEURON_NAME@.cu.jinja2 +25 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/@NEURON_NAME@.h.jinja2 +25 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/NeuronClassAnalytic.jinja2 +259 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/NeuronClassNumeric.jinja2 +322 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/NeuronHeaderAnalytic.jinja2 +79 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/NeuronHeaderNumeric.jinja2 +127 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/AnalyticIntegrationStep_begin.jinja2 +12 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/AnalyticIntegrationStep_end.jinja2 +11 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/ApplySpikesFromBuffers.jinja2 +6 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/Assignment.jinja2 +7 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/CompoundStatement.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/Declaration.jinja2 +21 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/ForStatement.jinja2 +20 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/FunctionCall.jinja2 +10 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/FunctionDeclaration.jinja2 +23 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/IfStatement.jinja2 +33 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/MemberInitialization.jinja2 +11 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/MemberNamesAndIndexes.jinja2 +79 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/NumericDifferentiationFunction.jinja2 +18 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/NumericIntegrationStep.jinja2 +28 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/PredefinedFunction_integrate_odes.jinja2 +22 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/ReturnStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/SetScalParamAndVar.jinja2 +13 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/SmallStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/Statement.jinja2 +16 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/StmtsBody.jinja2 +9 -0
- pynestml/codegeneration/resources_nest_gpu/point_neuron/directives/WhileStatement.jinja2 +11 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/@NEURON_NAME@.py.jinja2 +379 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/@SYNAPSE_NAME@.py.jinja2 +396 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/AnalyticIntegrationStep_begin.jinja2 +10 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/AnalyticIntegrationStep_end.jinja2 +12 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/ApplySpikesFromBuffers.jinja2 +6 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/Assignment.jinja2 +25 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/CompoundStatement.jinja2 +18 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/ConstructorParameterWithDefault.jinja2 +28 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/Declaration.jinja2 +20 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/DynamicStateElement.jinja2 +46 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/ForStatement.jinja2 +13 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/FunctionCall.jinja2 +12 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/FunctionDeclaration.jinja2 +19 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/GSLDifferentiationFunction.jinja2 +36 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/GSLIntegrationStep.jinja2 +12 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/IfStatement.jinja2 +24 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/MemberDeclaration.jinja2 +14 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/MemberInitialization.jinja2 +18 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/MemberVariableGetterSetter.jinja2 +12 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/ReturnStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/SmallStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/Statement.jinja2 +17 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/StmtsBody.jinja2 +11 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/directives_py/WhileStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/neuron.py.jinja2 +52 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/simulator.py.jinja2 +165 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/spike_generator.py.jinja2 +40 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/synapse.py.jinja2 +50 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/test_python_standalone_module.py.jinja2 +75 -0
- pynestml/codegeneration/resources_python_standalone/point_neuron/utils.py.jinja2 +5 -0
- pynestml/codegeneration/resources_spinnaker/@NEURON_NAME@.py.jinja2 +106 -0
- pynestml/codegeneration/resources_spinnaker/@NEURON_NAME@_chain_example.py.jinja2 +141 -0
- pynestml/codegeneration/resources_spinnaker/@NEURON_NAME@_impl.h.jinja2 +333 -0
- pynestml/codegeneration/resources_spinnaker/@NEURON_NAME@_impl.py.jinja2 +279 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@.py.jinja2 +13 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_impl.c.jinja2 +705 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_impl.h.jinja2 +116 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_impl.py.jinja2 +600 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_timing.py.jinja2 +136 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_timing_impl.c.jinja2 +0 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_timing_impl.h.jinja2 +0 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_weight.py.jinja2 +123 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_weight_impl.c.jinja2 +0 -0
- pynestml/codegeneration/resources_spinnaker/@SYNAPSE_NAME@_weight_impl.h.jinja2 +0 -0
- pynestml/codegeneration/resources_spinnaker/Makefile_@NEURON_NAME@_impl.jinja2 +6 -0
- pynestml/codegeneration/resources_spinnaker/Makefile_@SYNAPSE_NAME@_impl.jinja2 +11 -0
- pynestml/codegeneration/resources_spinnaker/Makefile_models.jinja2 +13 -0
- pynestml/codegeneration/resources_spinnaker/Makefile_root.jinja2 +7 -0
- pynestml/codegeneration/resources_spinnaker/__init__.py.jinja2 +27 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/AnalyticIntegrationStep_begin.jinja2 +16 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/AnalyticIntegrationStep_end.jinja2 +11 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/ApplySpikesFromBuffers.jinja2 +6 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/AssignTmpDictionaryValue.jinja2 +10 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/Assignment.jinja2 +7 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/BufferDeclaration.jinja2 +4 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/BufferInitialization.jinja2 +5 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/CompoundStatement.jinja2 +18 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/ContinuousInputBufferGetter.jinja2 +28 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/Declaration.jinja2 +21 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/DelayVariablesDeclaration.jinja2 +8 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/DelayVariablesInitialization.jinja2 +8 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/DynamicStateElement.jinja2 +48 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/ForStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/FunctionCall.jinja2 +13 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/FunctionDeclaration.jinja2 +20 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/GSLDifferentiationFunction.jinja2 +110 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/GSLIntegrationStep.jinja2 +74 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/IfStatement.jinja2 +33 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/MemberDeclaration.jinja2 +10 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/MemberInitialization.jinja2 +20 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/MemberVariableGetter.jinja2 +11 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/MemberVariableSetter.jinja2 +6 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/OutputEvent.jinja2 +18 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/PredefinedFunction_emit_spike.jinja2 +16 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/PredefinedFunction_integrate_odes.jinja2 +69 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/ReturnStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/RportToBufferIndexEntry.jinja2 +20 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/SmallStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/SpikeBufferGetter.jinja2 +28 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/StateVariablesEnum.jinja2 +22 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/Statement.jinja2 +16 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/StmtsBody.jinja2 +9 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/UpdateDelayVariables.jinja2 +6 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/VectorDeclaration.jinja2 +5 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/VectorSizeParameter.jinja2 +13 -0
- pynestml/codegeneration/resources_spinnaker/directives_cpp/WhileStatement.jinja2 +13 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/AnalyticIntegrationStep_begin.jinja2 +10 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/AnalyticIntegrationStep_end.jinja2 +12 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/ApplySpikesFromBuffers.jinja2 +6 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/Assignment.jinja2 +25 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/CompoundStatement.jinja2 +18 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/ConstructorParameterWithDefault.jinja2 +28 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/Declaration.jinja2 +20 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/DynamicStateElement.jinja2 +46 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/ForStatement.jinja2 +13 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/FunctionCall.jinja2 +12 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/FunctionDeclaration.jinja2 +19 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/GSLDifferentiationFunction.jinja2 +36 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/GSLIntegrationStep.jinja2 +12 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/IfStatement.jinja2 +24 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/MemberDeclaration.jinja2 +14 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/MemberInitialization.jinja2 +18 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/MemberVariableGetterSetter.jinja2 +12 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/ReturnStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/SmallStatement.jinja2 +22 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/Statement.jinja2 +17 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/StmtsBody.jinja2 +11 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/WhileStatement.jinja2 +10 -0
- pynestml/codegeneration/resources_spinnaker/directives_py/__init__.py +24 -0
- pynestml/codegeneration/resources_spinnaker/extra.mk.jinja2 +33 -0
- pynestml/codegeneration/resources_spinnaker/extra_neuron.mk.jinja2 +33 -0
- pynestml/codegeneration/resources_spinnaker/extra_synapse.mk.jinja2 +33 -0
- pynestml/codegeneration/spinnaker_builder.py +314 -0
- pynestml/codegeneration/spinnaker_code_generator.py +228 -0
- pynestml/codegeneration/spinnaker_code_generator_utils.py +53 -0
- pynestml/codegeneration/spinnaker_unit_converter.py +79 -0
- pynestml/exceptions/__init__.py +22 -0
- pynestml/exceptions/code_generator_options_exception.py +27 -0
- pynestml/exceptions/generated_code_build_exception.py +27 -0
- pynestml/exceptions/implicit_cast_exception.py +28 -0
- pynestml/exceptions/implicit_magnitude_cast_exception.py +28 -0
- pynestml/exceptions/invalid_path_exception.py +27 -0
- pynestml/exceptions/invalid_target_exception.py +27 -0
- pynestml/frontend/__init__.py +22 -0
- pynestml/frontend/frontend_configuration.py +361 -0
- pynestml/frontend/pynestml_frontend.py +679 -0
- pynestml/generated/PyNestMLLexer.py +472 -0
- pynestml/generated/PyNestMLLexerBase.py +161 -0
- pynestml/generated/PyNestMLParser.py +4810 -0
- pynestml/generated/PyNestMLParserVisitor.py +248 -0
- pynestml/generated/__init__.py +22 -0
- pynestml/meta_model/__init__.py +65 -0
- pynestml/meta_model/ast_arithmetic_operator.py +91 -0
- pynestml/meta_model/ast_assignment.py +202 -0
- pynestml/meta_model/ast_bit_operator.py +102 -0
- pynestml/meta_model/ast_block_with_variables.py +141 -0
- pynestml/meta_model/ast_comparison_operator.py +115 -0
- pynestml/meta_model/ast_compound_stmt.py +181 -0
- pynestml/meta_model/ast_data_type.py +173 -0
- pynestml/meta_model/ast_declaration.py +259 -0
- pynestml/meta_model/ast_elif_clause.py +108 -0
- pynestml/meta_model/ast_else_clause.py +89 -0
- pynestml/meta_model/ast_equations_block.py +149 -0
- pynestml/meta_model/ast_expression.py +392 -0
- pynestml/meta_model/ast_expression_node.py +64 -0
- pynestml/meta_model/ast_external_variable.py +74 -0
- pynestml/meta_model/ast_for_stmt.py +163 -0
- pynestml/meta_model/ast_function.py +208 -0
- pynestml/meta_model/ast_function_call.py +127 -0
- pynestml/meta_model/ast_if_clause.py +108 -0
- pynestml/meta_model/ast_if_stmt.py +168 -0
- pynestml/meta_model/ast_inline_expression.py +159 -0
- pynestml/meta_model/ast_input_block.py +111 -0
- pynestml/meta_model/ast_input_port.py +249 -0
- pynestml/meta_model/ast_input_qualifier.py +90 -0
- pynestml/meta_model/ast_kernel.py +131 -0
- pynestml/meta_model/ast_logical_operator.py +87 -0
- pynestml/meta_model/ast_model.py +711 -0
- pynestml/meta_model/ast_model_body.py +255 -0
- pynestml/meta_model/ast_namespace_decorator.py +83 -0
- pynestml/meta_model/ast_nestml_compilation_unit.py +125 -0
- pynestml/meta_model/ast_node.py +215 -0
- pynestml/meta_model/ast_node_factory.py +381 -0
- pynestml/meta_model/ast_ode_equation.py +131 -0
- pynestml/meta_model/ast_on_condition_block.py +106 -0
- pynestml/meta_model/ast_on_receive_block.py +104 -0
- pynestml/meta_model/ast_output_block.py +121 -0
- pynestml/meta_model/ast_parameter.py +100 -0
- pynestml/meta_model/ast_return_stmt.py +105 -0
- pynestml/meta_model/ast_simple_expression.py +344 -0
- pynestml/meta_model/ast_small_stmt.py +204 -0
- pynestml/meta_model/ast_stmt.py +105 -0
- pynestml/meta_model/ast_stmts_body.py +120 -0
- pynestml/meta_model/ast_unary_operator.py +93 -0
- pynestml/meta_model/ast_unit_type.py +205 -0
- pynestml/meta_model/ast_update_block.py +84 -0
- pynestml/meta_model/ast_variable.py +223 -0
- pynestml/meta_model/ast_while_stmt.py +113 -0
- pynestml/symbol_table/__init__.py +22 -0
- pynestml/symbol_table/scope.py +341 -0
- pynestml/symbol_table/symbol_table.py +92 -0
- pynestml/symbols/__init__.py +38 -0
- pynestml/symbols/boolean_type_symbol.py +58 -0
- pynestml/symbols/error_type_symbol.py +85 -0
- pynestml/symbols/function_symbol.py +126 -0
- pynestml/symbols/integer_type_symbol.py +130 -0
- pynestml/symbols/predefined_functions.py +546 -0
- pynestml/symbols/predefined_types.py +263 -0
- pynestml/symbols/predefined_units.py +100 -0
- pynestml/symbols/predefined_variables.py +128 -0
- pynestml/symbols/real_type_symbol.py +118 -0
- pynestml/symbols/string_type_symbol.py +50 -0
- pynestml/symbols/symbol.py +136 -0
- pynestml/symbols/template_type_symbol.py +53 -0
- pynestml/symbols/type_symbol.py +244 -0
- pynestml/symbols/unit_type_symbol.py +177 -0
- pynestml/symbols/variable_symbol.py +432 -0
- pynestml/symbols/variadic_type_symbol.py +47 -0
- pynestml/symbols/void_type_symbol.py +40 -0
- pynestml/transformers/__init__.py +26 -0
- pynestml/transformers/add_timestep_to_internals_transformer.py +64 -0
- pynestml/transformers/convolutions_to_buffers_transformer.py +263 -0
- pynestml/transformers/equations_with_delay_vars_transformer.py +61 -0
- pynestml/transformers/equations_with_vector_vars_transformer.py +57 -0
- pynestml/transformers/illegal_variable_name_transformer.py +115 -0
- pynestml/transformers/inline_expression_expansion_transformer.py +141 -0
- pynestml/transformers/ode_toolbox_transformer.py +185 -0
- pynestml/transformers/synapse_post_neuron_transformer.py +459 -0
- pynestml/transformers/transformer.py +46 -0
- pynestml/utils/__init__.py +22 -0
- pynestml/utils/ast_mechanism_information_collector.py +516 -0
- pynestml/utils/ast_source_location.py +217 -0
- pynestml/utils/ast_synapse_information_collector.py +349 -0
- pynestml/utils/ast_utils.py +2750 -0
- pynestml/utils/ast_vector_parameter_setter_and_printer.py +50 -0
- pynestml/utils/ast_vector_parameter_setter_and_printer_factory.py +42 -0
- pynestml/utils/chan_info_enricher.py +59 -0
- pynestml/utils/channel_processing.py +88 -0
- pynestml/utils/cloning_helpers.py +41 -0
- pynestml/utils/con_in_info_enricher.py +56 -0
- pynestml/utils/conc_info_enricher.py +29 -0
- pynestml/utils/concentration_processing.py +104 -0
- pynestml/utils/continuous_input_processing.py +43 -0
- pynestml/utils/error_listener.py +42 -0
- pynestml/utils/logger.py +333 -0
- pynestml/utils/logging_helper.py +35 -0
- pynestml/utils/mechanism_processing.py +214 -0
- pynestml/utils/mechs_info_enricher.py +183 -0
- pynestml/utils/messages.py +1170 -0
- pynestml/utils/model_parser.py +494 -0
- pynestml/utils/ode_toolbox_utils.py +60 -0
- pynestml/utils/port_signal_type.py +30 -0
- pynestml/utils/stack.py +107 -0
- pynestml/utils/string_utils.py +34 -0
- pynestml/utils/synapse_processing.py +230 -0
- pynestml/utils/syns_info_enricher.py +345 -0
- pynestml/utils/type_caster.py +69 -0
- pynestml/utils/type_dictionary.py +27 -0
- pynestml/utils/unit_type.py +89 -0
- pynestml/utils/with_options.py +65 -0
- pynestml/visitors/__init__.py +48 -0
- pynestml/visitors/assign_implicit_conversion_factors_visitor.py +326 -0
- pynestml/visitors/ast_binary_logic_visitor.py +62 -0
- pynestml/visitors/ast_bit_operator_visitor.py +54 -0
- pynestml/visitors/ast_boolean_literal_visitor.py +42 -0
- pynestml/visitors/ast_builder_visitor.py +778 -0
- pynestml/visitors/ast_comparison_operator_visitor.py +78 -0
- pynestml/visitors/ast_condition_visitor.py +101 -0
- pynestml/visitors/ast_data_type_visitor.py +163 -0
- pynestml/visitors/ast_dot_operator_visitor.py +54 -0
- pynestml/visitors/ast_equations_with_delay_vars_visitor.py +74 -0
- pynestml/visitors/ast_equations_with_vector_variables.py +38 -0
- pynestml/visitors/ast_expression_type_visitor.py +186 -0
- pynestml/visitors/ast_function_call_visitor.py +121 -0
- pynestml/visitors/ast_higher_order_visitor.py +50 -0
- pynestml/visitors/ast_inf_visitor.py +41 -0
- pynestml/visitors/ast_line_operation_visitor.py +60 -0
- pynestml/visitors/ast_logical_not_visitor.py +41 -0
- pynestml/visitors/ast_mark_delay_vars_visitor.py +46 -0
- pynestml/visitors/ast_numeric_literal_visitor.py +69 -0
- pynestml/visitors/ast_parent_aware_visitor.py +43 -0
- pynestml/visitors/ast_parent_visitor.py +38 -0
- pynestml/visitors/ast_parentheses_visitor.py +41 -0
- pynestml/visitors/ast_power_visitor.py +119 -0
- pynestml/visitors/ast_random_number_generator_visitor.py +64 -0
- pynestml/visitors/ast_set_vector_parameter_in_update_expressions.py +42 -0
- pynestml/visitors/ast_string_literal_visitor.py +41 -0
- pynestml/visitors/ast_symbol_table_visitor.py +611 -0
- pynestml/visitors/ast_unary_visitor.py +54 -0
- pynestml/visitors/ast_variable_visitor.py +70 -0
- pynestml/visitors/ast_visitor.py +1357 -0
- pynestml/visitors/comment_collector_visitor.py +328 -0
- tests/__init__.py +20 -0
- tests/ast_builder_test.py +78 -0
- tests/ast_clone_test.py +93 -0
- tests/codegen_opts_detects_non_existing.py +32 -0
- tests/comment_test.py +104 -0
- tests/conftest.py +29 -0
- tests/docstring_comment_test.py +85 -0
- tests/expression_parser_test.py +79 -0
- tests/expression_type_calculation_test.py +94 -0
- tests/lexer_parser_test.py +65 -0
- tests/pynestml_frontend_test.py +142 -0
- tests/random_number_generators_test.py +52 -0
- tests/special_block_parser_builder_test.py +79 -0
- tests/test_cocos.py +438 -0
- tests/test_function_parameter_templating.py +36 -0
- tests/test_nestml_printer.py +255 -0
- tests/test_symbol_table_builder.py +87 -0
- tests/test_unit_system.py +164 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Citing NESTML
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
If you use NESTML in your work, please cite one or more of the following publications.
|
|
5
|
+
|
|
6
|
+
In general, please cite the software release that you are using. In case you wish to refer to specific features of the processing toolchain, please cite the relevant scientific publication.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Software releases
|
|
10
|
+
-----------------
|
|
11
|
+
|
|
12
|
+
Charl Linssen, Pooja N. Babu, Andreas Rogalski, Bernhard Rumpe and Abigail Morrison (2025). **NESTML 8.2.0.** Zenodo. `doi:10.5281/zenodo.16537793 <https://doi.org/10.5281/zenodo.16537793>`_.
|
|
13
|
+
|
|
14
|
+
Charl Linssen, Pooja N. Babu, Bernhard Rumpe and Abigail Morrison (2025). **NESTML 8.1.0.** Zenodo. `doi:10.5281/zenodo.16537793 <https://doi.org/10.5281/zenodo.16537793>`_.
|
|
15
|
+
|
|
16
|
+
Charl Linssen, Pooja N. Babu, Bernhard Rumpe and Abigail Morrison (2025). **NESTML 8.0.2.** Zenodo. `doi:10.5281/zenodo.15771528 <https://doi.org/10.5281/zenodo.15771528>`_.
|
|
17
|
+
|
|
18
|
+
Charl Linssen, Pooja N. Babu, Bernhard Rumpe and Abigail Morrison (2025). **NESTML 8.0.1.** Zenodo. `doi:10.5281/zenodo.15292719 <https://doi.org/10.5281/zenodo.15292719>`_.
|
|
19
|
+
|
|
20
|
+
Charl Linssen, Pooja N. Babu, Younes Bouhadjar, Leander Ewert, Willem Wybo, Melissa Lober, Florian Feller, Bernhard Rumpe and Abigail Morrison (2024). **NESTML 8.0.0.** Zenodo. `doi:10.5281/zenodo.12191059 <https://doi.org/10.5281/zenodo.12191059>`_.
|
|
21
|
+
|
|
22
|
+
Charl A.P. Linssen, Pooja N. Babu, Bernhard Rumpe and Abigail Morrison (2024). **NESTML 7.0.1.** Zenodo. `doi:10.5281/zenodo.10966350 <https://doi.org/10.5281/zenodo.10966350>`_.
|
|
23
|
+
|
|
24
|
+
Charl A.P. Linssen, Pooja N. Babu, Jochen M. Eppler, Leander Ewert, Krzysztof Blaszczyk, Willem Wybo, Beck Strohmer, Bernhard Rumpe and Abigail Morrison (2023). **NESTML 7.0.0.** Zenodo. `doi:10.5281/zenodo.10125416 <https://doi.org/10.5281/zenodo.10125416>`_.
|
|
25
|
+
|
|
26
|
+
Charl A.P. Linssen, Pooja N. Babu, Levin Schmidt, Tom Tetzlaff, Maryada, Mohamed Ayssar Benelhedi, Jochen M. Eppler, Bernhard Rumpe and Abigail Morrison (2023). **NESTML 6.0.0.** Zenodo. `doi:10.5281/zenodo.8380365 <https://doi.org/10.5281/zenodo.8380365>`_.
|
|
27
|
+
|
|
28
|
+
Charl A.P. Linssen, Pooja N. Babu, Jingxuan He, Jochen Martin Eppler, Bernhard Rumpe and Abigail Morrison (2022). **NESTML 5.1.0.** Zenodo. `doi:10.5281/zenodo.7071624 <https://doi.org/10.5281/zenodo.7071624>`_.
|
|
29
|
+
|
|
30
|
+
Charl A.P. Linssen, Pooja N. Babu, Ayssar Benelhedi, Robin De Schepper, Tanguy Fardet, Jochen Martin Eppler, Bernhard Rumpe and Abigail Morrison (2022). **NESTML 5.0.0.** Zenodo. `doi:10.5281/zenodo.5784175 <https://doi.org/10.5281/zenodo.5784175>`_.
|
|
31
|
+
|
|
32
|
+
Pooja Nagendra Babu, Charl Linssen, Jochen Martin Eppler, Tobias Schulte to Brinke, Abolfazl Ziaeemehr, Tanguy Fardet, Younes Bouhadjar, Renato Duarte, Bernhard Rumpe and Abigail Morrison (2021). **NESTML 4.0.** Zenodo. `doi:10.5281/zenodo.4740083 <https://doi.org/10.5281/zenodo.4740083>`_.
|
|
33
|
+
|
|
34
|
+
Charl Linssen, Bernhard Rumpe, Sebastian Berns, Tanguy Fardet, Konstantin Perun, Tobias Schulte to Brinke, Dennis Terhorst, Jochen M. Eppler and Abigail Morrison (2020). **NESTML 3.1.** Zenodo. `doi:10.5281/zenodo.3697733 <http://doi.org/10.5281/zenodo.3697733>`_.
|
|
35
|
+
|
|
36
|
+
Konstantin Perun, Philip Traeder, Jochen Martin Eppler, Dimitri Plotnikov, Tammo Ippen, Tanguy Fardet, Guido Trensch, Sanin Aleksey, Inga Blundell and Jakob Jordan (2018) **NESTML 3.0.** Zenodo. `doi:10.5281/zenodo.1412608 <http://doi.org/10.5281/zenodo.1412608>`_.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Scientific publications
|
|
40
|
+
-----------------------
|
|
41
|
+
|
|
42
|
+
Charl Linssen, Pooja N. Babu, Jochen M. Eppler, Luca Koll, Bernhard Rumpe and Abigail Morrison (2025) **NESTML: a generic modeling language and code generation tool for the simulation of spiking neural networks with advanced plasticity rules.** Front. Neuroinform. `doi:10.3389/fninf.2025.1544143 <https://doi.org/10.3389/fninf.2025.1544143>`_.
|
|
43
|
+
|
|
44
|
+
Inga Blundell, Dimitri Plotnikov, Jochen Martin Eppler and Abigail Morrison (2018) **Automatically selecting a suitable integration scheme for systems of differential equations in neuron models.** Front. Neuroinform. `doi:10.3389/fninf.2018.00050 <https://doi.org/10.3389/fninf.2018.00050>`_.
|
|
45
|
+
|
|
46
|
+
Konstantin Perun, Bernhard Rumpe, Dimitri Plotnikov, Guido Trensch, Jochen Martin Eppler, Inga Blundell and Abigail Morrison (2018). **Reengineering NestML with Python and MontiCore** (Version 2.4). Zenodo. `doi:10.5281/zenodo.1319653 <http://doi.org/10.5281/zenodo.1319653>`_.
|
|
47
|
+
|
|
48
|
+
Dimitri Plotnikov, Bernhard Rumpe, Inga Blundell, Tammo Ippen, Jochen Martin Eppler and Abigail Morrison (2016). **NESTML: a modeling language for spiking neurons.** In Modellierung 2016, March 2-4 2016, Karlsruhe, Germany. 93–108. `doi:10.5281/zenodo.1412345 <http://doi.org/10.5281/zenodo.1412345>`_.
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Extending NESTML
|
|
2
|
+
################
|
|
3
|
+
|
|
4
|
+
The NESTML toolchain is lightweight, modular and extensible.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Internal workflow
|
|
8
|
+
-----------------
|
|
9
|
+
|
|
10
|
+
When NESTML is invoked, several steps are executed in sequence. First, the model(s) are parsed and validated. Then, depending on which target platform has been selected, transformations may occur, such as variable name rewriting in case of conflict with a keyword in the target language). The transformed models are then passed to the code generator, which combines them with a set of templates. Finally, an optional build stage compiles and builds the code, for example to yield a dynamically loadable library (``.so`` or ``.dll`` file).
|
|
11
|
+
|
|
12
|
+
.. figure:: https://raw.githubusercontent.com/nest/nestml/main/doc/fig/internal_workflow.png
|
|
13
|
+
:alt: NESTML model(s) → Parsing and validation → Transform → (+ Templates) → Generate code (and build) → Executable (binary) code
|
|
14
|
+
|
|
15
|
+
A more detailed description of the internal architecture of NESTML can be found in the following places:
|
|
16
|
+
|
|
17
|
+
* Tammo Ippen, "NESTML - Creating a Neuron Modeling Language and Generating Efficient Code for the NEST Simulator with MontiCore". Master's thesis, RWTH Aachen University (2013) :download:`PDF <extending/Tammo_Ippen_Master_Thesis.pdf>`
|
|
18
|
+
* Konstantin Perun, "Reengineering of NestML with Python". Master's thesis, RWTH Aachen University (2018) :download:`PDF <extending/Konstantin_Perun_Master_thesis.pdf>`
|
|
19
|
+
* Dimitri Plotnikov, "NESTML - die Domänenspezifische Sprache für den NEST-Simulator Neuronaler Netzwerke im Human Brain Project". Doctoral thesis, RWTH Aachen University (2017) :download:`PDF <extending/Dimitri_Plotnikov_Doctoral_Thesis.pdf>`
|
|
20
|
+
|
|
21
|
+
* A condensed online English version is available: :doc:`pynestml_toolchain/index`
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
API documentation
|
|
25
|
+
-----------------
|
|
26
|
+
|
|
27
|
+
API documentation is automatically generated from source code and can be browsed here: :mod:`pynestml` **module index**
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
Running NESTML with custom templates
|
|
31
|
+
------------------------------------
|
|
32
|
+
|
|
33
|
+
NESTML generates model-specific code using a set of Jinja templates. The templates for each target platform are located in the `pynestml/codegeneration/resources_* <https://github.com/nest/nestml/tree/main/pynestml/codegeneration>`__ subdirectories. (For more information on code generation using templates, see :ref:`Section 3.1: AST Transformations and Code Generation`.) For example, for NEST, NESTML by default uses the templates in the directory `pynestml/codegeneration/resources_nest/point_neuron <https://github.com/nest/nestml/tree/main/pynestml/codegeneration/resources_nest/point_neuron>`__. These defaults are specified in the code generator within its default values dictionary (``_default_options``, see for instance https://github.com/nest/nestml/blob/main/pynestml/codegeneration/nest_code_generator.py).
|
|
34
|
+
|
|
35
|
+
The default directory can be changed by specifying code generator options that override the default values. This can be done either by passing these options via the ``codegen_opts`` parameter of the NESTML Python API call to ``generate_target()``, or on the command line, through the ``--codegen_opts`` parameter to a JSON file. For example:
|
|
36
|
+
|
|
37
|
+
.. code-block:: bash
|
|
38
|
+
|
|
39
|
+
nestml --input_path models/neurons/iaf_psc_exp_neuron.nestml --codegen_opts /home/nest/work/codegen_options.json
|
|
40
|
+
|
|
41
|
+
An example ``codegen_options.json`` file for NEST could look as follows:
|
|
42
|
+
|
|
43
|
+
.. code-block:: json
|
|
44
|
+
|
|
45
|
+
{
|
|
46
|
+
"templates":
|
|
47
|
+
{
|
|
48
|
+
"path": "/home/nest/work/custom_templates",
|
|
49
|
+
"model_templates": {
|
|
50
|
+
"neuron": ["@NEURON_NAME@.cpp.jinja2", "@NEURON_NAME@.h.jinja2"],
|
|
51
|
+
"synapse": ["@SYNAPSE_NAME@.h.jinja2"]
|
|
52
|
+
},
|
|
53
|
+
"module_templates": ["setup/CMakeLists.txt.jinja2",
|
|
54
|
+
"setup/@MODULE_NAME@.h.jinja2","setup/@MODULE_NAME@.cpp.jinja2"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
The ``templates`` option in the JSON file contains information on the custom Jinja templates to be used for code generation.
|
|
59
|
+
|
|
60
|
+
* The ``path`` option indicates the root directory of the custom Jinja templates.
|
|
61
|
+
* The ``model_templates`` option indicates the names of the Jinja templates for neuron and synapse model(s) or relative path to a directory containing the neuron and synapse model(s) templates.
|
|
62
|
+
* The ``module_templates`` option indicates the names or relative path to a directory containing the Jinja templates for the module.
|
|
63
|
+
|
|
64
|
+
The escape sequence ``@NEURON_NAME@`` (resp. ``@SYNAPSE_NAME@``, ``@MODULE_NAME@``) will be replaced with the name of the neuron model (resp. synapse model or name of the module) during code generation.
|
|
65
|
+
|
|
66
|
+
If a directory is given, the directory is recursively searched for templates (files ending in the ``.jinja2`` extension), for example:
|
|
67
|
+
|
|
68
|
+
.. code-block:: python
|
|
69
|
+
|
|
70
|
+
codegen_opts = {"templates": {"module_templates": ["setup"]}}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
Adding a new target platform
|
|
74
|
+
----------------------------
|
|
75
|
+
|
|
76
|
+
* Add a new set of templates in a new directory under `pynestml/codegeneration/resources_* <https://github.com/nest/nestml/tree/main/pynestml/codegeneration>`__.
|
|
77
|
+
* Implement a new code generator, for example based on the existing `nest_code_generator.py <https://github.com/nest/nestml/tree/main/pynestml/codegeneration/nest_code_generator.py>`_.
|
|
78
|
+
* Optionally, implement a new builder, for example based on the existing `nest_builder.py <https://github.com/nest/nestml/tree/main/pynestml/codegeneration/nest_builder.py>`_.
|
|
79
|
+
* Add the new target platform to the frontend in `pynestml_frontend.py <https://github.com/nest/nestml/blob/main/pynestml/frontend/pynestml_frontend.py>`__.
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
|
4
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
5
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
6
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
7
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
10
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
11
|
+
width="194.21313mm"
|
|
12
|
+
height="112.32471mm"
|
|
13
|
+
viewBox="0 0 194.21313 112.32473"
|
|
14
|
+
version="1.1"
|
|
15
|
+
id="svg8"
|
|
16
|
+
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
|
|
17
|
+
sodipodi:docname="code_gen_opts.svg">
|
|
18
|
+
<defs
|
|
19
|
+
id="defs2">
|
|
20
|
+
<marker
|
|
21
|
+
inkscape:stockid="Arrow1Lend"
|
|
22
|
+
orient="auto"
|
|
23
|
+
refY="0"
|
|
24
|
+
refX="0"
|
|
25
|
+
id="Arrow1Lend"
|
|
26
|
+
style="overflow:visible"
|
|
27
|
+
inkscape:isstock="true">
|
|
28
|
+
<path
|
|
29
|
+
id="path4638"
|
|
30
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
31
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
32
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
|
33
|
+
inkscape:connector-curvature="0" />
|
|
34
|
+
</marker>
|
|
35
|
+
<linearGradient
|
|
36
|
+
id="linearGradient4513"
|
|
37
|
+
osb:paint="solid">
|
|
38
|
+
<stop
|
|
39
|
+
style="stop-color:#b0282a;stop-opacity:1;"
|
|
40
|
+
offset="0"
|
|
41
|
+
id="stop4511" />
|
|
42
|
+
</linearGradient>
|
|
43
|
+
<linearGradient
|
|
44
|
+
id="linearGradient4491"
|
|
45
|
+
osb:paint="solid">
|
|
46
|
+
<stop
|
|
47
|
+
style="stop-color:#000000;stop-opacity:1;"
|
|
48
|
+
offset="0"
|
|
49
|
+
id="stop4489" />
|
|
50
|
+
</linearGradient>
|
|
51
|
+
<marker
|
|
52
|
+
inkscape:stockid="Arrow1Lend"
|
|
53
|
+
orient="auto"
|
|
54
|
+
refY="0"
|
|
55
|
+
refX="0"
|
|
56
|
+
id="Arrow1Lend-6"
|
|
57
|
+
style="overflow:visible"
|
|
58
|
+
inkscape:isstock="true">
|
|
59
|
+
<path
|
|
60
|
+
inkscape:connector-curvature="0"
|
|
61
|
+
id="path4638-0"
|
|
62
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
63
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
64
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
65
|
+
</marker>
|
|
66
|
+
<marker
|
|
67
|
+
inkscape:stockid="Arrow1Lend"
|
|
68
|
+
orient="auto"
|
|
69
|
+
refY="0"
|
|
70
|
+
refX="0"
|
|
71
|
+
id="Arrow1Lend-2"
|
|
72
|
+
style="overflow:visible"
|
|
73
|
+
inkscape:isstock="true">
|
|
74
|
+
<path
|
|
75
|
+
inkscape:connector-curvature="0"
|
|
76
|
+
id="path4638-6"
|
|
77
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
78
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
79
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
80
|
+
</marker>
|
|
81
|
+
<marker
|
|
82
|
+
inkscape:stockid="Arrow1Lend"
|
|
83
|
+
orient="auto"
|
|
84
|
+
refY="0"
|
|
85
|
+
refX="0"
|
|
86
|
+
id="Arrow1Lend-8"
|
|
87
|
+
style="overflow:visible"
|
|
88
|
+
inkscape:isstock="true">
|
|
89
|
+
<path
|
|
90
|
+
inkscape:connector-curvature="0"
|
|
91
|
+
id="path4638-7"
|
|
92
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
93
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
94
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
95
|
+
</marker>
|
|
96
|
+
<marker
|
|
97
|
+
inkscape:stockid="Arrow1Lend"
|
|
98
|
+
orient="auto"
|
|
99
|
+
refY="0"
|
|
100
|
+
refX="0"
|
|
101
|
+
id="Arrow1Lend-2-9"
|
|
102
|
+
style="overflow:visible"
|
|
103
|
+
inkscape:isstock="true">
|
|
104
|
+
<path
|
|
105
|
+
inkscape:connector-curvature="0"
|
|
106
|
+
id="path4638-6-2"
|
|
107
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
108
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
109
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
110
|
+
</marker>
|
|
111
|
+
<marker
|
|
112
|
+
inkscape:stockid="Arrow1Lend"
|
|
113
|
+
orient="auto"
|
|
114
|
+
refY="0"
|
|
115
|
+
refX="0"
|
|
116
|
+
id="Arrow1Lend-2-9-3"
|
|
117
|
+
style="overflow:visible"
|
|
118
|
+
inkscape:isstock="true">
|
|
119
|
+
<path
|
|
120
|
+
inkscape:connector-curvature="0"
|
|
121
|
+
id="path4638-6-2-7"
|
|
122
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
123
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
124
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
125
|
+
</marker>
|
|
126
|
+
<marker
|
|
127
|
+
inkscape:stockid="Arrow1Lend"
|
|
128
|
+
orient="auto"
|
|
129
|
+
refY="0"
|
|
130
|
+
refX="0"
|
|
131
|
+
id="Arrow1Lend-8-5"
|
|
132
|
+
style="overflow:visible"
|
|
133
|
+
inkscape:isstock="true">
|
|
134
|
+
<path
|
|
135
|
+
inkscape:connector-curvature="0"
|
|
136
|
+
id="path4638-7-9"
|
|
137
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
138
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
139
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
140
|
+
</marker>
|
|
141
|
+
<marker
|
|
142
|
+
inkscape:stockid="Arrow1Lend"
|
|
143
|
+
orient="auto"
|
|
144
|
+
refY="0"
|
|
145
|
+
refX="0"
|
|
146
|
+
id="Arrow1Lend-2-2"
|
|
147
|
+
style="overflow:visible"
|
|
148
|
+
inkscape:isstock="true">
|
|
149
|
+
<path
|
|
150
|
+
inkscape:connector-curvature="0"
|
|
151
|
+
id="path4638-6-28"
|
|
152
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
153
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
154
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
155
|
+
</marker>
|
|
156
|
+
<marker
|
|
157
|
+
inkscape:stockid="Arrow1Lend"
|
|
158
|
+
orient="auto"
|
|
159
|
+
refY="0"
|
|
160
|
+
refX="0"
|
|
161
|
+
id="Arrow1Lend-9"
|
|
162
|
+
style="overflow:visible"
|
|
163
|
+
inkscape:isstock="true">
|
|
164
|
+
<path
|
|
165
|
+
inkscape:connector-curvature="0"
|
|
166
|
+
id="path4638-73"
|
|
167
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
|
168
|
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
169
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
170
|
+
</marker>
|
|
171
|
+
</defs>
|
|
172
|
+
<sodipodi:namedview
|
|
173
|
+
id="base"
|
|
174
|
+
pagecolor="#ffffff"
|
|
175
|
+
bordercolor="#666666"
|
|
176
|
+
borderopacity="1.0"
|
|
177
|
+
inkscape:pageopacity="0.0"
|
|
178
|
+
inkscape:pageshadow="2"
|
|
179
|
+
inkscape:zoom="1"
|
|
180
|
+
inkscape:cx="596.69845"
|
|
181
|
+
inkscape:cy="122.41507"
|
|
182
|
+
inkscape:document-units="mm"
|
|
183
|
+
inkscape:current-layer="layer1"
|
|
184
|
+
showgrid="false"
|
|
185
|
+
inkscape:window-width="2560"
|
|
186
|
+
inkscape:window-height="1411"
|
|
187
|
+
inkscape:window-x="0"
|
|
188
|
+
inkscape:window-y="0"
|
|
189
|
+
inkscape:window-maximized="1"
|
|
190
|
+
fit-margin-top="0"
|
|
191
|
+
fit-margin-left="0"
|
|
192
|
+
fit-margin-right="0"
|
|
193
|
+
fit-margin-bottom="0"
|
|
194
|
+
inkscape:document-rotation="0">
|
|
195
|
+
<inkscape:grid
|
|
196
|
+
type="xygrid"
|
|
197
|
+
id="grid4485"
|
|
198
|
+
originx="208.78653"
|
|
199
|
+
originy="-137.17769" />
|
|
200
|
+
</sodipodi:namedview>
|
|
201
|
+
<metadata
|
|
202
|
+
id="metadata5">
|
|
203
|
+
<rdf:RDF>
|
|
204
|
+
<cc:Work
|
|
205
|
+
rdf:about="">
|
|
206
|
+
<dc:format>image/svg+xml</dc:format>
|
|
207
|
+
<dc:type
|
|
208
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
209
|
+
<dc:title></dc:title>
|
|
210
|
+
</cc:Work>
|
|
211
|
+
</rdf:RDF>
|
|
212
|
+
</metadata>
|
|
213
|
+
<g
|
|
214
|
+
inkscape:label="Layer 1"
|
|
215
|
+
inkscape:groupmode="layer"
|
|
216
|
+
id="layer1"
|
|
217
|
+
transform="translate(208.78658,-31.024191)">
|
|
218
|
+
<rect
|
|
219
|
+
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
|
220
|
+
id="rect4487-6-3"
|
|
221
|
+
width="83.532738"
|
|
222
|
+
height="30.143602"
|
|
223
|
+
x="-205.98785"
|
|
224
|
+
y="31.524191"
|
|
225
|
+
ry="9.2542782" />
|
|
226
|
+
<text
|
|
227
|
+
xml:space="preserve"
|
|
228
|
+
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
229
|
+
x="72.760414"
|
|
230
|
+
y="43"
|
|
231
|
+
id="text4523" />
|
|
232
|
+
<rect
|
|
233
|
+
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
|
234
|
+
id="rect4487-6"
|
|
235
|
+
width="83.532738"
|
|
236
|
+
height="30.143602"
|
|
237
|
+
x="-208.28658"
|
|
238
|
+
y="34.388611"
|
|
239
|
+
ry="9.2542782" />
|
|
240
|
+
<text
|
|
241
|
+
xml:space="preserve"
|
|
242
|
+
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
243
|
+
x="-167.21318"
|
|
244
|
+
y="45.916885"
|
|
245
|
+
id="text4519-1"><tspan
|
|
246
|
+
sodipodi:role="line"
|
|
247
|
+
id="tspan4517-2"
|
|
248
|
+
x="-167.21318"
|
|
249
|
+
y="45.916885"
|
|
250
|
+
style="text-align:center;text-anchor:middle;stroke-width:0.264583">NESTML</tspan><tspan
|
|
251
|
+
sodipodi:role="line"
|
|
252
|
+
x="-167.21318"
|
|
253
|
+
y="59.146011"
|
|
254
|
+
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
|
|
255
|
+
id="tspan4527-9">models</tspan></text>
|
|
256
|
+
<rect
|
|
257
|
+
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
|
258
|
+
id="rect4487-3-3"
|
|
259
|
+
width="92.026764"
|
|
260
|
+
height="30.143604"
|
|
261
|
+
x="-107.1002"
|
|
262
|
+
y="33.638588"
|
|
263
|
+
ry="9.2542782" />
|
|
264
|
+
<text
|
|
265
|
+
xml:space="preserve"
|
|
266
|
+
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
267
|
+
x="-61.264301"
|
|
268
|
+
y="45.166862"
|
|
269
|
+
id="text4519-6-1"><tspan
|
|
270
|
+
sodipodi:role="line"
|
|
271
|
+
x="-61.264301"
|
|
272
|
+
y="45.166862"
|
|
273
|
+
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
|
|
274
|
+
id="tspan4527-5-7">Code generator</tspan><tspan
|
|
275
|
+
sodipodi:role="line"
|
|
276
|
+
x="-61.264301"
|
|
277
|
+
y="58.395988"
|
|
278
|
+
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
|
|
279
|
+
id="tspan967">options</tspan></text>
|
|
280
|
+
<rect
|
|
281
|
+
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
|
282
|
+
id="rect4572-8"
|
|
283
|
+
width="127.66687"
|
|
284
|
+
height="14.364264"
|
|
285
|
+
x="-176.95508"
|
|
286
|
+
y="80.782738"
|
|
287
|
+
ry="0" />
|
|
288
|
+
<text
|
|
289
|
+
xml:space="preserve"
|
|
290
|
+
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
291
|
+
x="-114.00658"
|
|
292
|
+
y="91.116844"
|
|
293
|
+
id="text4519-3-4"><tspan
|
|
294
|
+
sodipodi:role="line"
|
|
295
|
+
x="-114.00658"
|
|
296
|
+
y="91.116844"
|
|
297
|
+
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
|
|
298
|
+
id="tspan4527-6-5">Code generation</tspan></text>
|
|
299
|
+
<rect
|
|
300
|
+
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
|
301
|
+
id="rect4487-2-0"
|
|
302
|
+
width="95.472549"
|
|
303
|
+
height="30.1436"
|
|
304
|
+
x="-162.24916"
|
|
305
|
+
y="112.70531"
|
|
306
|
+
ry="9.2542782" />
|
|
307
|
+
<text
|
|
308
|
+
xml:space="preserve"
|
|
309
|
+
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
310
|
+
x="-114.29671"
|
|
311
|
+
y="124.23361"
|
|
312
|
+
id="text4519-9-3"><tspan
|
|
313
|
+
sodipodi:role="line"
|
|
314
|
+
x="-114.29671"
|
|
315
|
+
y="124.23361"
|
|
316
|
+
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
|
|
317
|
+
id="tspan4527-2-1">NEST extension</tspan><tspan
|
|
318
|
+
sodipodi:role="line"
|
|
319
|
+
x="-114.29671"
|
|
320
|
+
y="137.46274"
|
|
321
|
+
style="text-align:center;text-anchor:middle;stroke-width:0.264583"
|
|
322
|
+
id="tspan1032">module</tspan></text>
|
|
323
|
+
<path
|
|
324
|
+
style="fill:none;stroke:#000000;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-9)"
|
|
325
|
+
d="m -166.40691,64.399918 -0.0284,14.509565"
|
|
326
|
+
id="path4633-06"
|
|
327
|
+
inkscape:connector-curvature="0"
|
|
328
|
+
sodipodi:nodetypes="cc" />
|
|
329
|
+
<path
|
|
330
|
+
style="fill:none;stroke:#000000;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-2-2)"
|
|
331
|
+
d="m -60.04396,64.39992 -0.0284,14.509565"
|
|
332
|
+
id="path4633-1-1"
|
|
333
|
+
inkscape:connector-curvature="0"
|
|
334
|
+
sodipodi:nodetypes="cc" />
|
|
335
|
+
<path
|
|
336
|
+
style="fill:none;stroke:#000000;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-8-5)"
|
|
337
|
+
d="m -113.49012,95.620767 -0.0284,14.509623"
|
|
338
|
+
id="path4633-0-5"
|
|
339
|
+
inkscape:connector-curvature="0"
|
|
340
|
+
sodipodi:nodetypes="cc" />
|
|
341
|
+
</g>
|
|
342
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|