Luc Grosheintz

Results 129 issues of Luc Grosheintz

CoreNEURON used to be able to handle the situation where some MOD files used AoS and others SoA. The functionality was removed here: https://github.com/BlueBrain/CoreNeuron/pull/675 However, there's still traces left. For...

enhancement

When generating code to call processes from HOC or Python one difficulty can be obtaining the voltage. The voltage is associated with the Node. In the generated code we only...

Sympy doesn't tolerate variable names called `is`.

The revised format only prints the first trace, before entering the `CodePrinter`. The new output (for a particularly verbose case) is: ``` $ nmodl art_toggle.mod blame --line 264 Source: "/home/lucg/git/bbp/nmodl/src/codegen/codegen_cpp_visitor.cpp",...

This one has high potential of clashing with something. Currently (on some platforms), ``` x86_64/corenrn/mod2c/variable_names.cpp:576:143: error: ‘count’ was not declared in this scope; did you mean ‘std::count’? 576 | nmodl_eigen_f[static_cast(3)]...

NMODL seems to allow the following: ``` NEURON { SUFFIX state_pi } STATE { omicron pi } BREAKPOINT { SOLVE state METHOD sparse } KINETIC state { ~ omicron pi...

Currently, when the SympyVisitor detects a bug, it simply prints a warning and continues. The tests also assert that the SympyVisitor is idempotent: ``` THEN("More SympySolver passes do nothing to...

If `nmodl` sends invalid code to SymPy, SymPy we throw an exception. NMODL ignores the issue, prints a warning; and them much later fails. Typical output might be: ``` [NMODL]...

Currently, we sometimes use `v_unused` and sometimes we dereference the pointer to the node value. This needs to be made consistent.

For CoreNEURON we generate: ``` static inline void setup_instance(NrnThread* nt, Memb_list* ml) { // ... inst->tsave = ml->data+2*pnodecount; // ... inst->point_process = ml->pdata; inst->tqitem = ml->pdata; ``` and then later...