Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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 <oliver.lupton@epfl.ch> Co-authored-by: Fernando Pereira <fernando.pereira@epfl.ch> Co-authored-by: Pramod Kumbhar <pramod.s.kumbhar@gmail.com> Co-authored-by: Nicolas Cornu <nicolas.cornu@epfl.ch> Co-authored-by: Michael Hines <michael.hines@yale.edu>
- Loading branch information