68 const std::vector<int>& mech_types,
69 const std::vector<int>& nodecounts) {
72 tml->index = mech_types[mech_id];
75 tml->ml->_net_receive_buffer =
nullptr;
76 tml->ml->_net_send_buffer =
nullptr;
77 tml->ml->_permute =
nullptr;
81 tml->ml->nodecount = nodecounts[mech_id];
90 if (tml->ml->nodecount > shadow_rhs_cnt) {
91 shadow_rhs_cnt = tml->ml->nodecount;
96 priv_ctor(&nt, tml->ml, tml->index);
140 std::vector<int> ix(
memb_func.size(), -1);
144 for (
auto tml = nt.tml; tml; tml = tml->next) {
145 int index = tml->index;
158 for (
auto tml = nt.tml; tml; tml = tml->next) {
159 int index = tml->index;
A class representing the CoreNEURON state, holding pointers to the various data structures.
auto & get_memb_func(size_t idx)
auto & get_mech_data_layout()
auto & get_is_artificial()
#define BEFORE_AFTER_SIZE
THIS FILE IS AUTO GENERATED DONT MODIFY IT.
void nrn_threads_create(int n)
void * emalloc_align(size_t size, size_t alignment)
void * ecalloc_align(size_t n, size_t size, size_t alignment)
void nrn_mk_table_check()
void nrn_thread_table_check()
const char * nrn_get_mechname(int type)
static int table_check_cnt_
--> CoreNeuron class
void hoc_execerror(const char *s1, const char *s2)
static void * emalloc(size_t size)
void(* nrn_mk_transfer_thread_data_)()
static ThreadDatum * table_check_
int nrn_soa_padded_size(int cnt, int layout)
calculate size after padding for specific memory layout
NrnThreadMembList * create_tml(NrnThread &nt, int mech_id, Memb_func &memb_func, int &shadow_rhs_cnt, const std::vector< int > &mech_types, const std::vector< int > &nodecounts)
int const size_t const size_t n
std::vector< Memb_func > memb_func
NrnThreadBAList * tbl[BEFORE_AFTER_SIZE]