NEURON
nmodlfunc.h
Go to the documentation of this file.
1 struct Rlist;
2 struct Reaction;
3 
4 int in_solvefor(Symbol*);
5 int cvode_cnexp_success(Item* q1, Item* q2);
6 
7 void cvode_parse(Symbol* s, List* e);
8 void Unit_push(const char*);
9 void unit_pop();
10 void unit_div();
11 void install_units(char* s1, char* s2);
12 void modl_units();
13 void consistency();
14 void printlist(List*);
15 void vectorize_substitute(Item* q, const char* str);
17 void solv_diffeq(Item* qsol,
18  Symbol* fun,
19  Symbol* method,
20  int numeqn,
21  int listnum,
22  int steadystate,
23  int btype);
24 void add_deriv_imp_list(char*);
25 void deriv_used(Symbol* s, Item* q1, Item* q2);
26 void massagederiv(Item* q1, Item* q2, Item* q3, Item* q4);
27 void copyitems(Item* q1, Item* q2, Item* qdest);
28 void disc_var_seen(Item* q1, Item* q2, Item* q3, int array);
29 void massagediscblk(Item* q1, Item* q2, Item* q3, Item* q4);
30 void init_disc_vars();
31 void init();
32 void inblock(char*);
33 void unGets(char*);
34 void diag(const char*, const char*);
36 void include_file(Item*);
37 void reactname(Item* q1, Item* lastok, Item* q2);
38 void leftreact();
39 void massagereaction(Item* qREACTION, Item* qREACT1, Item* qlpar, Item* qcomma, Item* qrpar);
40 void flux(Item* qREACTION, Item* qdir, Item* qlast);
41 void massagekinetic(Item* q1, Item* q2, Item* q3, Item* q4);
42 void fixrlst(struct Rlist*);
43 void kinetic_intmethod(Symbol* fun, const char* meth);
44 void genfluxterm(struct Reaction* r, int type, int n);
45 void kinetic_implicit(Symbol* fun, const char* dt, const char* mname);
46 void massageconserve(Item* q1, Item* q3, Item* q5);
47 void check_block(int standard, int actual, const char* mes);
48 void massagecompart(Item* qexp, Item* qb1, Item* qb2, Symbol* indx);
49 void massageldifus(Item* qexp, Item* qb1, Item* qb2, Symbol* indx);
50 void kin_vect1(Item* q1, Item* q2, Item* q4);
51 void kin_vect2();
52 void kin_vect3(Item* q1, Item* q2, Item* q4);
53 void prn(Item* q1, Item* q2);
54 void cvode_kinetic(Item* qsol, Symbol* fun, int numeqn, int listnum);
55 void freelist(List**);
56 void remove(Item*);
57 void deltokens(Item*, Item*);
58 void move(Item* q1, Item* q2, Item* q3);
59 void movelist(Item* q1, Item* q2, List* s);
60 void replacstr(Item* q, const char* s);
61 void c_out();
62 void printitem(Item*);
63 void debugprintitem(Item*);
64 void c_out_vectorize();
65 void vectorize_substitute(Item* q, const char* str);
67 void nrninit();
68 void parout();
69 void warn_ignore(Symbol*);
70 void ldifusreg();
71 void decode_ustr(Symbol* sym, double* pg1, double* pg2, char* s);
72 void units_reg();
73 void nrn_list(Item*, Item*);
74 void bablk(int ba, int type, Item* q1, Item* q2);
75 void nrn_use(Item* q1, Item* q2, Item* q3, Item* q4);
77 void slist_data(Symbol* s, int indx, int findx);
78 void out_nt_ml_frag(List*);
80 void cvode_proced_emit();
81 void cvode_interface(Symbol* fun, int num, int neq);
82 void cvode_valid();
83 void cvode_rw_cur(char (&b)[NRN_BUFSIZE]);
84 void net_receive(Item* qarg, Item* qp1, Item* qp2, Item* qstmt, Item* qend);
85 void net_init(Item* qinit, Item* qp2);
86 void fornetcon(Item* keyword, Item* par1, Item* args, Item* par2, Item* stmt, Item* qend);
87 void chk_thread_safe();
88 void chk_global_state();
90 void explicit_decl(Item* q);
91 void parm_array_install(Symbol* n, const char* num, char* units, char* limits, int index);
92 void parminstall(Symbol* n, const char* num, const char* units, const char* limits);
93 void indepinstall(Symbol* n, const char* from, const char* to, const char* with, const char* units);
94 void depinstall(int type,
95  Symbol* n,
96  int index,
97  const char* from,
98  const char* to,
99  const char* units,
100  Item* qs,
101  int makeconst,
102  const char* abstol);
103 void statdefault(Symbol* n, int index, const char* units, Item* qs, int makeconst);
104 void vectorize_scan_for_func(Item* q1, Item* q2);
105 void defarg(Item* q1, Item* q2);
106 void lag_stmt(Item* q1, int blocktype);
107 void add_reset_args(Item*);
108 void add_nrnthread_arg(Item*);
109 void check_tables();
110 void table_massage(List* tablist, Item* qtype, Item* qname, List* arglist);
111 void hocfunchack(Symbol* n, Item* qpar1, Item* qpar2, int hack);
112 void hocfunc(Symbol* n, Item* qpar1, Item* qpar2);
113 void vectorize_use_func(Item* qname, Item* qpar1, Item* qexpr, Item* qpar2, int blocktype);
114 void function_table(Symbol* s, Item* qpar1, Item* qpar2, Item* qb1, Item* qb2);
115 void watchstmt(Item* par1, Item* dir, Item* par2, Item* flag, int blocktype);
116 void threadsafe(const char*);
117 void nrnmutex(int, Item*);
118 void solv_nonlin(Item* qsol, Symbol* fun, Symbol* method, int numeqn, int listnum);
119 void solv_lineq(Item* qsol, Symbol* fun, Symbol* method, int numeqn, int listnum);
120 void eqnqueue(Item*);
121 void massagenonlin(Item* q1, Item* q2, Item* q3, Item* q4);
122 void init_linblk(Item*);
123 void init_lineq(Item*);
124 void lin_state_term(Item* q1, Item* q2);
125 void linterm(Item* q1, Item* q2, int pstate, int sign);
126 void massage_linblk(Item* q1, Item* q2, Item* q3, Item* q4);
127 void solvequeue(Item* q1, Item* q2, int blocktype);
128 void solvhandler();
129 void save_dt(Item*);
130 void symbol_init();
131 void pushlocal();
132 void poplocal();
133 
134 void conductance_hint(int blocktype, Item* q1, Item* q2);
135 void possible_local_current(int blocktype, List* symlist);
137 void netrec_asgn(Item* varname, Item* equal, Item* expr, Item* lastok);
138 void netrec_discon();
139 char* items_as_string(Item* begin, Item* last); /* does not include last */
140 int slist_search(int listnum, Symbol* s);
141 void nrnunit_str(char (&buf)[NRN_BUFSIZE], const char* name, const char* unit1, const char* unit2);
142 
143 // help know if setdata required to call FUNCTION or PROCEDURE
145 void set_inside_func(Symbol*);
146 void func_needs_setdata();
#define symlist
Definition: cabcode.cpp:49
static double abstol(void *v)
Definition: cvodeobj.cpp:165
static int indx
Definition: deriv.cpp:289
static HocParmLimits limits[]
Definition: extcelln.cpp:36
void printlist(List *)
Definition: model.cpp:141
char buf[512]
Definition: init.cpp:13
#define NRN_BUFSIZE
Definition: model.h:6
const char * name
Definition: init.cpp:16
Item * lastok
Definition: io.cpp:11
void threadsafe(const char *)
Definition: parsact.cpp:1037
void check_useion_variables()
Definition: nocpout.cpp:1534
void init()
Definition: init.cpp:141
void netrec_discon()
void possible_local_current(int blocktype, List *symlist)
Definition: nocpout.cpp:3266
void add_deriv_imp_list(char *)
Definition: deriv.cpp:435
void ldifusreg()
Definition: nocpout.cpp:1570
void chk_thread_safe()
Definition: nocpout.cpp:3221
void lin_state_term(Item *q1, Item *q2)
Definition: simultan.cpp:251
void depinstall(int type, Symbol *n, int index, const char *from, const char *to, const char *units, Item *qs, int makeconst, const char *abstol)
Definition: parsact.cpp:136
void check_block(int standard, int actual, const char *mes)
Definition: kinetic.cpp:1102
void solvequeue(Item *q1, Item *q2, int blocktype)
Definition: solve.cpp:35
void slist_data(Symbol *s, int indx, int findx)
Definition: nocpout.cpp:2686
void massagekinetic(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: kinetic.cpp:256
void massagecompart(Item *qexp, Item *qb1, Item *qb2, Symbol *indx)
Definition: kinetic.cpp:1130
void reactname(Item *q1, Item *lastok, Item *q2)
Definition: kinetic.cpp:114
void movelist(Item *q1, Item *q2, List *s)
Definition: list.cpp:214
void out_nt_ml_frag(List *)
Definition: nocpout.cpp:2798
void init_disc_vars()
Definition: discrete.cpp:78
Symbol * breakpoint_current(Symbol *s)
Definition: nocpout.cpp:3286
void prn(Item *q1, Item *q2)
Definition: kinetic.cpp:1313
void massageconserve(Item *q1, Item *q3, Item *q5)
Definition: kinetic.cpp:944
void c_out_vectorize()
Definition: noccout.cpp:478
void init_linblk(Item *)
Definition: simultan.cpp:230
void massage_linblk(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: simultan.cpp:312
void move(Item *q1, Item *q2, Item *q3)
Definition: list.cpp:200
void hocfunc_setdata_item(Symbol *, Item *)
Definition: nocpout.cpp:3438
void nrn_use(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: nocpout.cpp:1992
void vectorize_do_substitute()
Definition: noccout.cpp:768
void func_needs_setdata()
Definition: nocpout.cpp:3348
void chk_global_state()
Definition: nocpout.cpp:3235
void parm_array_install(Symbol *n, const char *num, char *units, char *limits, int index)
Definition: parsact.cpp:46
void net_receive(Item *qarg, Item *qp1, Item *qp2, Item *qstmt, Item *qend)
Definition: nocpout.cpp:3040
void parout()
Definition: nocpout.cpp:207
int slist_search(int listnum, Symbol *s)
Definition: nocpout.cpp:2711
char * items_as_string(Item *begin, Item *last)
Definition: noccout.cpp:403
void enquextern(Symbol *)
void solv_diffeq(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum, int steadystate, int btype)
Definition: deriv.cpp:38
void defarg(Item *q1, Item *q2)
Definition: parsact.cpp:239
void cvode_valid()
Definition: nocpout.cpp:3005
void add_reset_args(Item *)
Definition: parsact.cpp:313
void freelist(List **)
Definition: list.cpp:58
void hocfunc(Symbol *n, Item *qpar1, Item *qpar2)
Definition: parsact.cpp:845
void symbol_init()
Definition: symbol.cpp:14
void replacstr(Item *q, const char *s)
Definition: list.cpp:219
void leftreact()
Definition: kinetic.cpp:153
void fixrlst(struct Rlist *)
Definition: kinetic.cpp:448
void massageldifus(Item *qexp, Item *qb1, Item *qb2, Symbol *indx)
Definition: kinetic.cpp:1167
void nrnmutex(int, Item *)
Definition: parsact.cpp:1053
void unGets(char *)
void massagenonlin(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: simultan.cpp:60
void massagediscblk(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: discrete.cpp:38
void flux(Item *qREACTION, Item *qdir, Item *qlast)
Definition: kinetic.cpp:181
void c_out()
Definition: noccout.cpp:69
void net_init(Item *qinit, Item *qp2)
Definition: nocpout.cpp:3162
void vectorize_scan_for_func(Item *q1, Item *q2)
Definition: parsact.cpp:219
void nrn_var_assigned(Symbol *)
Definition: nocpout.cpp:2658
void statdefault(Symbol *n, int index, const char *units, Item *qs, int makeconst)
Definition: parsact.cpp:175
void cvode_kinetic(Item *qsol, Symbol *fun, int numeqn, int listnum)
Definition: kinetic.cpp:1339
void install_units(char *s1, char *s2)
Definition: units.cpp:350
void hocfunchack(Symbol *n, Item *qpar1, Item *qpar2, int hack)
Definition: parsact.cpp:834
void remove(Item *)
Definition: list.cpp:151
void genfluxterm(struct Reaction *r, int type, int n)
Definition: kinetic.cpp:580
int cvode_cnexp_success(Item *q1, Item *q2)
Definition: deriv.cpp:842
void parminstall(Symbol *n, const char *num, const char *units, const char *limits)
Definition: parsact.cpp:58
void massagederiv(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: deriv.cpp:461
void bablk(int ba, int type, Item *q1, Item *q2)
Definition: nocpout.cpp:1945
void unit_pop()
Definition: units.cpp:225
void solvhandler()
Definition: solve.cpp:107
void Unit_push(const char *)
Definition: units.cpp:290
void massagereaction(Item *qREACTION, Item *qREACT1, Item *qlpar, Item *qcomma, Item *qrpar)
Definition: kinetic.cpp:160
void init_lineq(Item *)
Definition: simultan.cpp:239
void cvode_parse(Symbol *s, List *e)
void save_dt(Item *)
Definition: solve.cpp:283
void printitem(Item *)
Definition: noccout.cpp:362
void cvode_rw_cur(char(&b)[NRN_BUFSIZE])
Definition: nocpout.cpp:3014
int in_solvefor(Symbol *)
Definition: simultan.cpp:394
void copyitems(Item *q1, Item *q2, Item *qdest)
Definition: deriv.cpp:727
void cvode_interface(Symbol *fun, int num, int neq)
Definition: nocpout.cpp:2983
void check_range_in_func(Symbol *)
Definition: nocpout.cpp:3317
void nrn_list(Item *, Item *)
Definition: nocpout.cpp:1867
void nrnunit_str(char(&buf)[NRN_BUFSIZE], const char *name, const char *unit1, const char *unit2)
Definition: units.cpp:969
void debugprintitem(Item *)
Definition: noccout.cpp:389
void kin_vect1(Item *q1, Item *q2, Item *q4)
Definition: kinetic.cpp:1235
void function_table(Symbol *s, Item *qpar1, Item *qpar2, Item *qb1, Item *qb2)
Definition: parsact.cpp:940
void set_inside_func(Symbol *)
Definition: nocpout.cpp:3333
void kinetic_intmethod(Symbol *fun, const char *meth)
Definition: kinetic.cpp:458
void explicit_decl(Item *q)
Definition: parsact.cpp:32
void solv_lineq(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum)
Definition: simultan.cpp:30
void diag(const char *, const char *)
Definition: io.cpp:112
void add_nrnthread_arg(Item *)
Definition: parsact.cpp:323
void deltokens(Item *, Item *)
Definition: list.cpp:189
void conductance_hint(int blocktype, Item *q1, Item *q2)
Definition: nocpout.cpp:3246
void table_massage(List *tablist, Item *qtype, Item *qname, List *arglist)
Definition: parsact.cpp:398
void indepinstall(Symbol *n, const char *from, const char *to, const char *with, const char *units)
Definition: parsact.cpp:96
void nrninit()
Definition: nocpout.cpp:193
void solv_nonlin(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum)
Definition: simultan.cpp:11
void kin_vect3(Item *q1, Item *q2, Item *q4)
Definition: kinetic.cpp:1259
void decode_ustr(Symbol *sym, double *pg1, double *pg2, char *s)
Definition: nocpout.cpp:1718
void eqnqueue(Item *)
Definition: simultan.cpp:44
void include_file(Item *)
Definition: io.cpp:297
void vectorize_substitute(Item *q, const char *str)
Definition: noccout.cpp:748
void kin_vect2()
Definition: kinetic.cpp:1244
void disc_var_seen(Item *q1, Item *q2, Item *q3, int array)
Definition: discrete.cpp:8
void linterm(Item *q1, Item *q2, int pstate, int sign)
Definition: simultan.cpp:282
void units_reg()
Definition: nocpout.cpp:1766
void modl_units()
Definition: units.cpp:580
void netrec_asgn(Item *varname, Item *equal, Item *expr, Item *lastok)
void pushlocal()
Definition: symbol.cpp:81
void lag_stmt(Item *q1, int blocktype)
Definition: parsact.cpp:255
void vectorize_use_func(Item *qname, Item *qpar1, Item *qexpr, Item *qpar2, int blocktype)
Definition: parsact.cpp:856
void warn_ignore(Symbol *)
Definition: nocpout.cpp:1551
void unit_div()
Definition: units.cpp:380
void cvode_proced_emit()
Definition: nocpout.cpp:2964
void kinetic_implicit(Symbol *fun, const char *dt, const char *mname)
Definition: kinetic.cpp:642
void fornetcon(Item *keyword, Item *par1, Item *args, Item *par2, Item *stmt, Item *qend)
Definition: nocpout.cpp:3181
void cvode_emit_interface()
Definition: nocpout.cpp:2819
void consistency()
Definition: consist.cpp:22
void poplocal()
Definition: symbol.cpp:87
void watchstmt(Item *par1, Item *dir, Item *par2, Item *flag, int blocktype)
Definition: parsact.cpp:983
void deriv_used(Symbol *s, Item *q1, Item *q2)
Definition: deriv.cpp:445
void check_tables()
Definition: parsact.cpp:353
void inblock(char *)
Definition: io.cpp:53
int const size_t const size_t n
Definition: nrngsl.h:10
size_t q
s
Definition: multisend.cpp:521
short index
Definition: cabvars.h:11
short type
Definition: cabvars.h:10
void units(unit *)
Definition: units.cpp:641
static int equal(const char *c1, const char *c2)
Definition: units.cpp:776
Definition: model.h:8
Definition: model.h:47
static Item * qexpr[3]
Definition: units1.cpp:66