![]() |
NEURON
|
#include <../../nrnconf.h>
#include <nrnmpiuse.h>
#include "nrn_ansi.h"
#include "nrncore_write/io/nrncore_io.h"
#include "oc_ansi.h"
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include "section.h"
#include "seclist.h"
#include "parse.hpp"
#include "nrniv_mf.h"
#include "cabvars.h"
#include "neuron.h"
#include "neuron/container/data_handle.hpp"
#include "membdef.h"
#include "multicore.h"
#include "nrnmpi.h"
#include <vector>
#include <unordered_map>
#include <filesystem>
#include "nrnwrap_dlfcn.h"
Go to the source code of this file.
Namespaces | |
neuron | |
In mechanism libraries, cannot use auto const token = nrn_ensure_model_data_are_sorted(); because the return type is incomplete (from include/neuron/model_data.hpp). | |
neuron::mechanism | |
neuron::mechanism::detail | |
Macros | |
#define | CHECK(name) |
Functions | |
int | nrn_load_dll_recover_error () |
void | nrn_load_name_check (const char *name) |
void | hoc_reg_watch_allocate (int type, NrnWatchAllocateFunc_t waf) |
void | hoc_reg_bbcore_write (int mechtype, bbcore_write_t f) |
void | hoc_reg_bbcore_read (int mechtype, bbcore_write_t f) |
void | hoc_reg_nmodl_text (int mechtype, const char *txt) |
void | hoc_reg_nmodl_filename (int mechtype, const char *filename) |
void | add_nrn_has_net_event (int mechtype) |
void | add_nrn_fornetcons (int type, int indx) |
void | add_nrn_artcell (int mechtype, int qi) |
int | nrn_is_artificial (int pnttype) |
int | nrn_is_cable (void) |
void * | nrn_realpath_dlopen (const char *relpath, int flags) |
int | mswin_load_dll (const char *cp1) |
void | hoc_nrn_load_dll (void) |
void | hoc_last_init (void) |
void | initnrn (void) |
void | reallocate_mech_data (int mechtype) |
void | initialize_memb_func (int mechtype, nrn_cur_t cur, nrn_jacob_t jacob, Pvmp alloc, nrn_state_t stat, nrn_init_t initialize, int vectorized) |
void | check_mech_version (const char **m) |
int | count_variables_in_mechanism (const char **m2, int modltypemax) |
void | register_mech_vars (const char **var_buffers, int modltypemax, Symbol *mech_symbol, int mechtype, int nrnpointerindex) |
void | nrn_register_mech_common (const char **m, Pvmp alloc, nrn_cur_t cur, nrn_jacob_t jacob, nrn_state_t stat, nrn_init_t initialize, int nrnpointerindex, int vectorized) |
void | register_mech (const char **m, Pvmp alloc, nrn_cur_t cur, nrn_jacob_t jacob, nrn_state_t stat, nrn_init_t initialize, int nrnpointerindex, int vectorized) |
void | hoc_register_parm_default (int mechtype, const std::vector< double > *pd) |
void | nrn_writes_conc (int mechtype, int unused) |
void | neuron::mechanism::detail::register_data_fields (int mechtype, std::vector< std::pair< std::string, int >> const ¶m_info, std::vector< std::pair< std::string, std::string >> const &dparam_info) |
static int | neuron::mechanism::detail::count_prop_param_size (const std::vector< std::pair< const char *, int >> ¶m_info) |
void | neuron::mechanism::detail::register_data_fields (int mechtype, std::vector< std::pair< const char *, int >> const ¶m_info, std::vector< std::pair< const char *, const char * >> const &dparam_info) |
template<> | |
int const * | neuron::mechanism::get_array_dims< double > (int mech_type) |
template<> | |
double *const * | neuron::mechanism::get_data_ptrs< double > (int mech_type) |
template<> | |
int | neuron::mechanism::get_field_count< double > (int mech_type) |
void | hoc_register_npy_direct (int mechtype, NPyDirectMechFunc *f) |
Support mechanism FUNCTION/PROCEDURE python syntax seg.mech.f() More... | |
void | hoc_register_prop_size (int mechtype, int psize, int dpsize) |
Legacy way of registering mechanism data/pdata size. More... | |
void | hoc_register_dparam_semantics (int mechtype, int ix, const char *name) |
Legacy way of registering pdata semantics. More... | |
int | nrn_dparam_semantics_to_int (const char *name) |
std::vector< int > & | nrn_mech_random_indices (int type) |
dparam indices with random semantics for mechtype More... | |
void | hoc_register_cvode (int i, nrn_ode_count_t cnt, nrn_ode_map_t map, nrn_ode_spec_t spec, nrn_ode_matsol_t matsol) |
void | hoc_register_synonym (int i, nrn_ode_synonym_t syn) |
void | register_destructor (Pvmp d) |
int | point_reg_helper (Symbol *s2) |
void | class2oc_base (const char *, ctor_f *cons, dtor_f *destruct, Member_func *, Member_ret_obj_func *, Member_ret_str_func *) |
int | point_register_mech (const char **m, Pvmp alloc, nrn_cur_t cur, nrn_jacob_t jacob, nrn_state_t stat, nrn_init_t initialize, int nrnpointerindex, int vectorized, void *(*constructor)(Object *), void(*destructor)(void *), Member_func *fmember) |
void | _modl_set_dt (double newdt) |
void | _modl_set_dt_thread (double newdt, NrnThread *nt) |
double | _modl_get_dt_thread (NrnThread *nt) |
void | state_discontinuity (int i, double *pd, double d) |
void | hoc_register_limits (int mechtype, HocParmLimits *limits) |
void | hoc_register_units (int mechtype, HocParmUnits *units) |
void | hoc_reg_ba (int mt, nrn_bamech_t f, int type) |
void | _cvode_abstol (Symbol **s, double *tol, int i) |
void | hoc_register_tolerance (int mechtype, HocStateTolerance *tol, Symbol ***stol) |
void | _nrn_thread_reg (int i, int cons, void(*f)(Datum *)) |
void | _nrn_thread_table_reg (int i, nrn_thread_table_check_t f) |
void | _nrn_setdata_reg (int i, void(*call)(Prop *)) |
double | nrn_call_mech_func (Symbol *s, int narg, Prop *p, int mechtype) |
void | nrnunit_use_legacy () |
#define CHECK | ( | name | ) |
void _nrn_thread_reg | ( | int | i, |
int | cons, | ||
void(*)(Datum *) | f | ||
) |
void _nrn_thread_table_reg | ( | int | i, |
nrn_thread_table_check_t | f | ||
) |
void class2oc_base | ( | const char * | name, |
ctor_f * | cons, | ||
dtor_f * | destruct, | ||
Member_func * | m, | ||
Member_ret_obj_func * | mobjret, | ||
Member_ret_str_func * | strret | ||
) |
Definition at line 1583 of file hoc_oop.cpp.
int count_variables_in_mechanism | ( | const char ** | m2, |
int | modltypemax | ||
) |
void hoc_reg_ba | ( | int | mt, |
nrn_bamech_t | f, | ||
int | type | ||
) |
void hoc_reg_bbcore_read | ( | int | mechtype, |
bbcore_write_t | f | ||
) |
void hoc_reg_bbcore_write | ( | int | mechtype, |
bbcore_write_t | f | ||
) |
void hoc_reg_watch_allocate | ( | int | type, |
NrnWatchAllocateFunc_t | waf | ||
) |
void hoc_register_cvode | ( | int | i, |
nrn_ode_count_t | cnt, | ||
nrn_ode_map_t | map, | ||
nrn_ode_spec_t | spec, | ||
nrn_ode_matsol_t | matsol | ||
) |
void hoc_register_dparam_semantics | ( | int | mechtype, |
int | ix, | ||
const char * | name | ||
) |
Legacy way of registering pdata semantics.
Superseded by neuron::mechanism::register_data_fields.
void hoc_register_limits | ( | int | mechtype, |
HocParmLimits * | limits | ||
) |
void hoc_register_npy_direct | ( | int | mechtype, |
NPyDirectMechFunc * | f | ||
) |
void hoc_register_parm_default | ( | int | mechtype, |
const std::vector< double > * | pd | ||
) |
void hoc_register_prop_size | ( | int | mechtype, |
int | psize, | ||
int | dpsize | ||
) |
Legacy way of registering mechanism data/pdata size.
Superseded by neuron::mechanism::register_data_fields.
void hoc_register_synonym | ( | int | i, |
nrn_ode_synonym_t | syn | ||
) |
void hoc_register_tolerance | ( | int | mechtype, |
HocStateTolerance * | tol, | ||
Symbol *** | stol | ||
) |
void hoc_register_units | ( | int | mechtype, |
HocParmUnits * | units | ||
) |
void initialize_memb_func | ( | int | mechtype, |
nrn_cur_t | cur, | ||
nrn_jacob_t | jacob, | ||
Pvmp | alloc, | ||
nrn_state_t | stat, | ||
nrn_init_t | initialize, | ||
int | vectorized | ||
) |
int nrn_load_dll_recover_error | ( | ) |
Definition at line 22 of file hocusr.cpp.
void nrn_load_name_check | ( | const char * | name | ) |
Definition at line 33 of file hocusr.cpp.
std::vector<int>& nrn_mech_random_indices | ( | int | type | ) |
void* nrn_realpath_dlopen | ( | const char * | relpath, |
int | flags | ||
) |
void nrn_register_mech_common | ( | const char ** | m, |
Pvmp | alloc, | ||
nrn_cur_t | cur, | ||
nrn_jacob_t | jacob, | ||
nrn_state_t | stat, | ||
nrn_init_t | initialize, | ||
int | nrnpointerindex, | ||
int | vectorized | ||
) |
int point_register_mech | ( | const char ** | m, |
Pvmp | alloc, | ||
nrn_cur_t | cur, | ||
nrn_jacob_t | jacob, | ||
nrn_state_t | stat, | ||
nrn_init_t | initialize, | ||
int | nrnpointerindex, | ||
int | vectorized, | ||
void *(*)(Object *) | constructor, | ||
void(*)(void *) | destructor, | ||
Member_func * | fmember | ||
) |
void register_mech | ( | const char ** | m, |
Pvmp | alloc, | ||
nrn_cur_t | cur, | ||
nrn_jacob_t | jacob, | ||
nrn_state_t | stat, | ||
nrn_init_t | initialize, | ||
int | nrnpointerindex, | ||
int | vectorized | ||
) |
void register_mech_vars | ( | const char ** | var_buffers, |
int | modltypemax, | ||
Symbol * | mech_symbol, | ||
int | mechtype, | ||
int | nrnpointerindex | ||
) |
|
static |
|
static |
|
static |
|
extern |
Definition at line 225 of file hoc_init.cpp.
bbcore_write_t* nrn_bbcore_read_ |
bbcore_write_t* nrn_bbcore_write_ |
|
extern |
Definition at line 17 of file hocusr.cpp.
std::unordered_map<int, NPyDirectMechFuncs> nrn_mech2funcs_map |
std::unordered_map<int, void (*)(Prop*)> nrn_mech_inst_destruct |
NrnWatchAllocateFunc_t* nrn_watch_allocate_ |
pnt_receive_t* pnt_receive |
pnt_receive_init_t* pnt_receive_init |
Point_process** point_process |
|
static |