Additional builtin functions to Arbor's NMODL dialect (#2035)
Added common math functions which I came across in the wild quite frequently. Implementations may be more optimized than hand-rolled versions. - sqrt: usual square root - step_right: right-continuous heaviside step function - step_left: left-continuous heaviside step function - step: heaviside step function with half step at 0 - signum: sign bit function - extended iexpr with the step_left, step_right variants
Showing
- arbor/iexpr.cpp 44 additions, 0 deletionsarbor/iexpr.cpp
- arbor/include/arbor/iexpr.hpp 6 additions, 0 deletionsarbor/include/arbor/iexpr.hpp
- arbor/include/arbor/simd/implbase.hpp 40 additions, 0 deletionsarbor/include/arbor/simd/implbase.hpp
- arbor/include/arbor/simd/simd.hpp 2 additions, 2 deletionsarbor/include/arbor/simd/simd.hpp
- arbor/include/arbor/simd/sve.hpp 12 additions, 1 deletionarbor/include/arbor/simd/sve.hpp
- arborio/label_parse.cpp 6 additions, 0 deletionsarborio/label_parse.cpp
- doc/concepts/labels.rst 8 additions, 0 deletionsdoc/concepts/labels.rst
- doc/dev/simd_api.rst 20 additions, 0 deletionsdoc/dev/simd_api.rst
- doc/fileformat/nmodl.rst 21 additions, 3 deletionsdoc/fileformat/nmodl.rst
- mechanisms/stochastic/ou_input.mod 2 additions, 11 deletionsmechanisms/stochastic/ou_input.mod
- modcc/expression.cpp 25 additions, 0 deletionsmodcc/expression.cpp
- modcc/expression.hpp 60 additions, 0 deletionsmodcc/expression.hpp
- modcc/parser.cpp 5 additions, 0 deletionsmodcc/parser.cpp
- modcc/perfvisitor.hpp 17 additions, 3 deletionsmodcc/perfvisitor.hpp
- modcc/printer/cexpr_emit.cpp 50 additions, 16 deletionsmodcc/printer/cexpr_emit.cpp
- modcc/printer/cprinter.cpp 1 addition, 0 deletionsmodcc/printer/cprinter.cpp
- modcc/symdiff.cpp 52 additions, 0 deletionsmodcc/symdiff.cpp
- modcc/token.cpp 142 additions, 132 deletionsmodcc/token.cpp
- modcc/token.hpp 5 additions, 0 deletionsmodcc/token.hpp
- modcc/visitor.hpp 46 additions, 41 deletionsmodcc/visitor.hpp
Please register or sign in to comment