forked from neuronsimulator/nrn
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[pull] master from neuronsimulator:master #3
Open
pull
wants to merge
402
commits into
ishandutta2007:master
Choose a base branch
from
neuronsimulator:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e.g., we can now do ```python node.include_flux(ca * (1-ca)) ``` where `ca` is an `rxd.Species`
* initial partial API * nrnpy_set_pr_etal should be extern C * nrn_call_function leaves results on stack * segments, properties * including hocdec.h to try to avoid Datum errors on some systems * sectionlist and allsec hoc_Item getters * symbol and object introspection * symbol table getting and interating * object ref, push * Renamed files to avoid having two nrnapi.h files. On some systems (most? but not the one I used for everything else), some files tried to include the wrong nrnapi.h during the "make install" phase. * neuronapi.cpp no longer uses its .h, that is now a header for 3rd party tools * switched to enum for stack types * needed typedefs for C to be happy * test: sections.c * clang-format * replaced hoc_Item with new synonym nrn_Item * netcon example shows no need for dlsym * support for .so files in addition to .dylib * removed an excess const We'll still treat the pointer as const, but the user has no reason to care. * Add Robert's API tests to CTest (#2365) * build + run tests * fixups * different fixup * add -rdynamic * bugfix flagged by ASan * fix to header file name of api * hh_sim and sections work with handles don't have quantitative identity with the old hh_sim results, but very close. * rename stack_types_t per @olupton * replace param_handle with param * working vclamp * unified API property functions * getters use const args * forgot to commit sections * vector_capacity now on const obj * Several improvements - C/C++ api header included in implementation - signatures made compatible - public nrn_Item defined as inheriting from hoc_Item - dropped overlapping definitions. types are both fw declarations and opaque types * Make tests link against nrniv_lib, no dlopen * Address sonar lint reservations * Make comparisons be part of the test and account for fp innacuraciesa * Tests to find ref files * api: Make tests resilient to accumulated errors * Use in-test ref result, depending on NRN_ENABLE_CORENEURON * Use free for allocated c strings * Dont alloc Section Item to heap as its not used. NOTE: It seems that Sections are never freed. However we are lacking API to free Sections and Symbols in general. * Address intel compiler complain * Free memb_func[].dparam_semantics * Switch dparam_semantics to unique_ptr (no raw!) * Memb_list to do its memory management * Memb_list to be aware of its potential "view" condition and not free * Back pdata free * nrn_init to better initialize mpi * Addressed a number of warnings, inc avoidiing potential double free * Addressed sonarcloud issues * fix the merge with master * Fix test/api/netcon.cpp after merge with master - after RANDOM construct (#2627) was merged, netstim.mod uses Random123 by default - before this, netstim was using scoprand by default and reference results were from the same - now, explicitly use Random123 in the test and update reference results * fix warning [-Wimplicit-exception-spec-mismatch] --------- Co-authored-by: Olli Lupton <[email protected]> Co-authored-by: Fernando Pereira <[email protected]> Co-authored-by: Pramod Kumbhar <[email protected]> Co-authored-by: Nicolas Cornu <[email protected]> Co-authored-by: Michael Hines <[email protected]>
#2887) * add warning for 0 volume i region * add test for warning
The SoA no longer leaks the storage for the stable identifiers, instead it uses reference counting.
From https://linux.die.net/man/3/free: If ptr is NULL, no operation is performed.
* Give more CPU to jobs * For the FENV_ACCESS see the note here: https://eel.is/c++draft/cfenv.syn
* Pin numpy max version to <2 * Pin version of numpy in CI * Pin tenacity package (plotly dep) - The CI here: https://github.com/neuronsimulator/nrn/actions/runs/9543904495/job/26301425761 is failing with the error: ModuleNotFoundError: No module named 'tenacity.asyncio' - This is probably due to a new version of tenacity being released: jd/tenacity@8.3.0...8.4.0
Doc is already on RTD (read the doc)
This PR introduces a wrapper of all C function that are registered with Python. The wrapper catches all exceptions, and converts them to Python exceptions, then it returns a value signaling an error.
* Rename `nmodl2` page under Python to `nmodl_neuron_extension` * Use absolute path references in NMODL pages under Python * Move NMODL pages under Python to `NMODLanguage` * Various updates to `nmodl_neuron_extension` page and `nmodl` page * Use mini tabs for Python/HOC fragments in NMODL pages
* Also accept len(sl)
…ystem` (#3292) * Replace `cleanup` and Win32 script with std::filesystem * Fixups * Remove from cmake * Update src/oc/hoc.cpp Co-authored-by: Nicolas Cornu <[email protected]> * Update src/oc/hoc.cpp Co-authored-by: Nicolas Cornu <[email protected]> * Put back Windows-specific part of cleanup * Use `noexcept` version of `fs::remove` * Declare the Windows function as `extern` --------- Co-authored-by: Nicolas Cornu <[email protected]>
Also remove unused setup.py.in
* use new Docker image tags (`manylinux_2_28_x86_64` and `manylinux_2_28_aarch64`) in CI for building wheels * use vendor-provided `flex`, `mpich`, and `openmpi` instead of building from source (still need custom `readline` and `ncurses` as the `*-static` versions do not use `-fPIC`) * unify MPI headers when building wheels * remove BBP-specific tests for wheels * show warning in Python wrapper if host machine is using GCC<10 * mention new min system requirements in docs when using a manylinux NEURON wheel
Plotly 6 requires anywidget
* Remove docs.yml CI * Enable readthedocs build on pull requests * Remove conda dependencies * Update docs build instructions
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )