Add linear kinetic schemes to modcc. (#145)
Incorporate symbolic GE code from prototype (with some simplifications) in msparse.hpp, symge.hpp and symge.cpp, together with unit tests. Add two kinetic scheme test cases for validation: test_kin1 (simple exponential scheme) and test_kinlva (combination of exponential gate and a three-species kinetic scheme, modelling a low voltage-activated Calcium channel from Wang, X. J. et al., J. Neurophys. 1991). Adapt numeric HH validation data generation to LVA Ca channel, with explicit stopping at stimulus discontinuities. Add two new validation tests based on above: kinetic.kin1_numeric_ref and kinetic.kinlva_numeric_ref (multicore backend only). Introduce a BlockRewriterBase visitor base class, as an aid for visitors that transform/rewrite procedure bodies; refactor KineticRewriter over this class. Introduce common error_stack mixin class for common functionality across Module and the various procedure rewriters. Implement visitors and public-facin...
Showing
- mechanisms/CMakeLists.txt 1 addition, 1 deletionmechanisms/CMakeLists.txt
- mechanisms/mod/test_kin1.mod 38 additions, 0 deletionsmechanisms/mod/test_kin1.mod
- mechanisms/mod/test_kinlva.mod 76 additions, 0 deletionsmechanisms/mod/test_kinlva.mod
- modcc/CMakeLists.txt 4 additions, 0 deletionsmodcc/CMakeLists.txt
- modcc/astmanip.cpp 11 additions, 0 deletionsmodcc/astmanip.cpp
- modcc/astmanip.hpp 14 additions, 3 deletionsmodcc/astmanip.hpp
- modcc/error.hpp 58 additions, 7 deletionsmodcc/error.hpp
- modcc/expression.cpp 27 additions, 1 deletionmodcc/expression.cpp
- modcc/expression.hpp 48 additions, 7 deletionsmodcc/expression.hpp
- modcc/functionexpander.cpp 5 additions, 7 deletionsmodcc/functionexpander.cpp
- modcc/functionexpander.hpp 7 additions, 9 deletionsmodcc/functionexpander.hpp
- modcc/functioninliner.cpp 13 additions, 17 deletionsmodcc/functioninliner.cpp
- modcc/kineticrewriter.cpp 33 additions, 70 deletionsmodcc/kineticrewriter.cpp
- modcc/kineticrewriter.hpp 6 additions, 0 deletionsmodcc/kineticrewriter.hpp
- modcc/modcc.cpp 8 additions, 10 deletionsmodcc/modcc.cpp
- modcc/modccutil.hpp 29 additions, 23 deletionsmodcc/modccutil.hpp
- modcc/module.cpp 180 additions, 250 deletionsmodcc/module.cpp
- modcc/module.hpp 16 additions, 26 deletionsmodcc/module.hpp
- modcc/msparse.hpp 206 additions, 0 deletionsmodcc/msparse.hpp
- modcc/parser.cpp 15 additions, 6 deletionsmodcc/parser.cpp
Please register or sign in to comment