Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernise underlying data structure for node voltages #1929

Closed
wants to merge 209 commits into from

Conversation

olupton
Copy link
Collaborator

@olupton olupton commented Jul 21, 2022

First attempt at importing the ideas of https://github.com/neuronsimulator/data-structure-design into NEURON.

Very WIP, detailed review not advised.

CMakeLists.txt Outdated Show resolved Hide resolved
@nrnhines
Copy link
Member

I'm delighted to see that nrn/test/datahandle/test.py is working without address sanitizer complaints!

Compiling did require:

$ git diff src/oc/list.cpp
diff --git a/src/oc/list.cpp b/src/oc/list.cpp
index eecbd2d3..c31dd281 100644
--- a/src/oc/list.cpp
+++ b/src/oc/list.cpp
@@ -28,13 +28,13 @@ It is intended that this implementation be hidden from the user via the
 following function calls.
 */
 
-#define HOC_L_LIST 1
-
 #include <stdlib.h>
-#include "hoclist.h"
 #include "hocdec.h"
 #include "parse.hpp"
 
+#define HOC_L_LIST 1
+#include "hoclist.h"
+
 #define Free free
 
 static Item* newitem(void) {

to avoid issues with

#define next        hoc_l_next

but I think you already resolved that in another PR. If not, let me know and I'll push this change to this PR.

@codecov-commenter
Copy link

codecov-commenter commented Sep 14, 2022

Codecov Report

Merging #1929 (1ba1383) into master (39e36db) will increase coverage by 0.34%.
The diff coverage is 89.55%.

@@            Coverage Diff             @@
##           master    #1929      +/-   ##
==========================================
+ Coverage   47.51%   47.85%   +0.34%     
==========================================
  Files         528      541      +13     
  Lines      118852   119572     +720     
==========================================
+ Hits        56468    57223     +755     
+ Misses      62384    62349      -35     
Impacted Files Coverage Δ
src/ivoc/nrnmain.cpp 100.00% <ø> (ø)
src/nmodl/simultan.cpp 70.10% <ø> (ø)
src/nrncvode/netcvode.h 100.00% <ø> (ø)
src/nrncvode/vrecitem.h 65.51% <ø> (ø)
src/nrniv/bbsavestate.h 50.00% <ø> (ø)
src/nrniv/cachevec.cpp 67.92% <ø> (+3.51%) ⬆️
src/nrniv/kssingle.cpp 0.00% <0.00%> (ø)
src/nrniv/linmod1.cpp 3.37% <ø> (+0.45%) ⬆️
src/nrniv/multisplit.cpp 69.57% <ø> (-0.07%) ⬇️
src/nrniv/nrncore_write/io/nrncore_io.h 100.00% <ø> (ø)
... and 90 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@alexsavulescu alexsavulescu force-pushed the olupton/data-structures branch 12 times, most recently from 94dc46f to 8bc8860 Compare September 18, 2022 13:27
olupton added a commit that referenced this pull request Oct 10, 2022
- STETransition et al. now use STL components.
- Removal of #if 0 block in nrn_finitialize fixes formatting there.
- table_check_ no longer uses Datum.
- PyHocObject is consistently defined in only one place.
- Exception messages are printed to stderr when they are caught.
- example_nmodl tests are unpacked into different tests, Python
  versions are run (not just HOC).
- "Test fast_imem calculation" tests now check status codes.
@olupton olupton mentioned this pull request Oct 17, 2022
6 tasks
alexsavulescu added a commit that referenced this pull request Oct 21, 2022
* hoist and match several changes from #1929 in order to reduce its diff
* hack _pval <-> pval for backward MDB compatibility
@olupton
Copy link
Collaborator Author

olupton commented Nov 3, 2022

Closing this as it is included in #2027.

@olupton olupton closed this Nov 3, 2022
olupton pushed a commit that referenced this pull request Nov 3, 2022
* hoist and match several changes from #1929 in order to reduce its diff
* hack _pval <-> pval for backward MDB compatibility
alexsavulescu added a commit that referenced this pull request Nov 7, 2022
* add a wrapper around `Datum`
  * hoist and match several changes from #1929 in order to reduce its diff
  * hack _pval <-> pval for backward MDB compatibility
  * implement .get<T>

Co-authored-by: Olli Lupton <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants