NEURON
nmodlfunc.h
Go to the documentation of this file.
1 struct Rlist;
2 struct Reaction;
3 
4 int in_solvefor(Symbol*);
6 
7 void cvode_parse(Symbol* s, List* e);
8 void Unit_push(char*);
9 void unit_pop();
10 void unit_div();
11 void install_units(char* s1, char* s2);
12 void modl_units();
13 void vectorize_if_else_stmt(int);
14 void consistency();
15 void printlist(List*);
16 void c_out_vectorize(const char*);
17 void vectorize_substitute(Item* q, char* str);
19 void solv_diffeq(Item* qsol,
20  Symbol* fun,
21  Symbol* method,
22  int numeqn,
23  int listnum,
24  int steadystate,
25  int btype);
26 void add_deriv_imp_list(char*);
27 void deriv_used(Symbol* s, Item* q1, Item* q2);
28 void massagederiv(Item* q1, Item* q2, Item* q3, Item* q4, int sensused);
29 void matchinitial(Item*);
30 void matchbound(Item* q1, Item* q2, Item* q3, Item* q4, Item* q5, Symbol* sindex);
31 void checkmatch(int);
32 void matchmassage(int);
33 void copyitems(Item* q1, Item* q2, Item* qdest);
34 void disc_var_seen(Item* q1, Item* q2, Item* q3, int array);
35 void massagediscblk(Item* q1, Item* q2, Item* q3, Item* q4);
36 void init_disc_vars();
37 void init();
38 void inblock(char*);
39 void unGets(char*);
40 void diag(char*, char*);
42 void include_file(Item*);
43 void reactname(Item* q1, Item* lastok, Item* q2);
44 void leftreact();
45 void massagereaction(Item* qREACTION, Item* qREACT1, Item* qlpar, Item* qcomma, Item* qrpar);
46 void flux(Item* qREACTION, Item* qdir, Item* qlast);
47 void massagekinetic(Item* q1, Item* q2, Item* q3, Item* q4, int sensused);
48 void fixrlst(struct Rlist*);
49 void kinetic_intmethod(Symbol* fun, char* meth);
50 void genfluxterm(struct Reaction* r, int type, int n);
51 void kinetic_implicit(Symbol* fun, char* dt, char* mname);
52 void massageconserve(Item* q1, Item* q3, Item* q5);
53 void check_block(int standard, int actual, char* mes);
54 void massagecompart(Item* qexp, Item* qb1, Item* qb2, Symbol* indx);
55 void massageldifus(Item* qexp, Item* qb1, Item* qb2, Symbol* indx);
56 void kin_vect1(Item* q1, Item* q2, Item* q4);
57 void kin_vect2();
58 void kin_vect3(Item* q1, Item* q2, Item* q4);
59 void ostmt_start();
60 void see_astmt(Item* q1, Item* q2);
61 void see_ostmt();
62 void prn(Item* q1, Item* q2);
63 void cvode_kinetic(Item* qsol, Symbol* fun, int numeqn, int listnum);
64 void single_channel(Item* qsol, Symbol* fun, int numeqn, int listnum);
65 void freelist(List**);
66 void remove(Item*);
67 void deltokens(Item*, Item*);
68 void move(Item* q1, Item* q2, Item* q3);
69 void movelist(Item* q1, Item* q2, List* s);
70 void replacstr(Item* q, char* s);
71 void c_out();
72 void printitem(Item*);
73 void debugprintitem(Item*);
75 void vectorize_substitute(Item* q, char* str);
77 void nrninit();
78 void parout();
79 void warn_ignore(Symbol*);
80 void ldifusreg();
81 void decode_ustr(Symbol* sym, double* pg1, double* pg2, char* s);
82 void units_reg();
83 void nrn_list(Item*, Item*);
84 void bablk(int ba, int type, Item* q1, Item* q2);
85 void nrn_use(Item* q1, Item* q2, Item* q3, Item* q4);
87 void slist_data(Symbol* s, int indx, int findx);
91 void cvode_interface(Symbol* fun, int num, int neq);
92 void cvode_valid();
93 void cvode_rw_cur(char*);
94 void net_receive(Item* qarg, Item* qp1, Item* qp2, Item* qstmt, Item* qend);
95 void net_init(Item* qinit, Item* qp2);
96 void fornetcon(Item* keyword, Item* par1, Item* args, Item* par2, Item* stmt, Item* qend);
97 void chk_thread_safe();
98 void chk_global_state();
99 void threadsafe_seen(Item* q1, Item* q2);
100 void explicit_decl(int level, Item* q);
101 void parm_array_install(Symbol* n, char* num, char* units, char* limits, int index);
102 void parminstall(Symbol* n, char* num, char* units, char* limits);
103 void steppedinstall(Symbol* n, Item* q1, Item* q2, char* units);
104 void indepinstall(Symbol* n, char* from, char* to, char* with, Item* qstart, char* units, int scop);
105 void depinstall(int type,
106  Symbol* n,
107  int index,
108  char* from,
109  char* to,
110  char* units,
111  Item* qs,
112  int makeconst,
113  char* abstol);
114 void statdefault(Symbol* n, int index, char* units, Item* qs, int makeconst);
115 void vectorize_scan_for_func(Item* q1, Item* q2);
116 void defarg(Item* q1, Item* q2);
117 void lag_stmt(Item* q1, int blocktype);
118 void queue_stmt(Item* q1, Item* q2);
119 void add_reset_args(Item*);
120 void add_nrnthread_arg(Item*);
121 void check_tables();
122 void table_massage(List* tablist, Item* qtype, Item* qname, List* arglist);
123 void hocfunchack(Symbol* n, Item* qpar1, Item* qpar2, int hack);
124 void hocfunc(Symbol* n, Item* qpar1, Item* qpar2);
125 void vectorize_use_func(Item* qname, Item* qpar1, Item* qexpr, Item* qpar2, int blocktype);
126 void function_table(Symbol* s, Item* qpar1, Item* qpar2, Item* qb1, Item* qb2);
127 void watchstmt(Item* par1, Item* dir, Item* par2, Item* flag, int blocktype);
128 void threadsafe(char*);
129 void nrnmutex(int, Item*);
130 void solv_partial(Item* qsol, Symbol* fun);
131 void partial_eqn(Item* q2, Item* q4, Item* q8, Item* q11);
132 void massagepartial(Item* q1, Item* q2, Item* q3, Item* q6);
133 void partial_bndry(int type, Item* qvar, Item* qfirstlast, Item* qexpr, Item* qlast);
134 void sensparm(Item*);
136 void sensmassage(int type, Item* qfun, int fn);
137 void sens_nonlin_out(Item* q, Symbol* fun);
138 void solv_nonlin(Item* qsol, Symbol* fun, Symbol* method, int numeqn, int listnum);
139 void solv_lineq(Item* qsol, Symbol* fun, Symbol* method, int numeqn, int listnum);
140 void eqnqueue(Item*);
141 void massagenonlin(Item* q1, Item* q2, Item* q3, Item* q4, int sensused);
142 void init_linblk(Item*);
143 void init_lineq(Item*);
144 void lin_state_term(Item* q1, Item* q2);
145 void linterm(Item* q1, Item* q2, int pstate, int sign);
146 void massage_linblk(Item* q1, Item* q2, Item* q3, Item* q4, int sensused);
147 void solvequeue(Item* q1, Item* q2, int blocktype, Item* qerr);
148 void solvhandler();
149 void save_dt(Item*);
150 void symbol_init();
151 void pushlocal();
152 void poplocal();
153 
154 void conductance_hint(int blocktype, Item* q1, Item* q2);
155 void possible_local_current(int blocktype, List* symlist);
157 void netrec_asgn(Item* varname, Item* equal, Item* expr, Item* lastok);
158 void netrec_discon();
159 char* items_as_string(Item* begin, Item* last); /* does not include last */
160 int slist_search(int listnum, Symbol* s);
161 void nrnunit_dynamic_str(char* buf, const char* name, char* unit1, char* unit2);
#define symlist
Definition: cabcode.cpp:17
short index
Definition: cabvars.h:10
short type
Definition: cabvars.h:9
double dt
Definition: netcvode.cpp:76
static double abstol(void *v)
Definition: cvodeobj.cpp:184
static int indx
Definition: deriv.cpp:294
static HocParmLimits limits[]
Definition: extcelln.cpp:38
void printlist(List *)
Definition: model.cpp:158
char buf[512]
Definition: init.cpp:13
char * name
Definition: init.cpp:16
Item * lastok
Definition: io.cpp:13
void units(unit *)
Definition: units.cpp:733
static int equal(char *s1, char *s2)
Definition: units.cpp:863
void init()
Definition: init.cpp:291
void netrec_discon()
void solv_partial(Item *qsol, Symbol *fun)
Definition: partial.cpp:84
void possible_local_current(int blocktype, List *symlist)
Definition: nocpout.cpp:3008
void steppedinstall(Symbol *n, Item *q1, Item *q2, char *units)
Definition: parsact.cpp:194
void add_deriv_imp_list(char *)
Definition: deriv.cpp:440
void ldifusreg()
Definition: nocpout.cpp:1424
void chk_thread_safe()
Definition: nocpout.cpp:2951
void lin_state_term(Item *q1, Item *q2)
Definition: simultan.cpp:246
void c_out_vectorize(const char *)
void ostmt_start()
Definition: kinetic.cpp:1406
void slist_data(Symbol *s, int indx, int findx)
void parm_array_install(Symbol *n, char *num, char *units, char *limits, int index)
Definition: parsact.cpp:145
void single_channel(Item *qsol, Symbol *fun, int numeqn, int listnum)
void massagecompart(Item *qexp, Item *qb1, Item *qb2, Symbol *indx)
Definition: kinetic.cpp:1237
void solvequeue(Item *q1, Item *q2, int blocktype, Item *qerr)
Definition: solve.cpp:40
void checkmatch(int)
Definition: deriv.cpp:803
void reactname(Item *q1, Item *lastok, Item *q2)
Definition: kinetic.cpp:153
void movelist(Item *q1, Item *q2, List *s)
Definition: list.cpp:220
void out_nt_ml_frag(List *)
void init_disc_vars()
Definition: discrete.cpp:132
void vectorize_substitute(Item *q, char *str)
Symbol * breakpoint_current(Symbol *s)
Definition: nocpout.cpp:3028
void prn(Item *q1, Item *q2)
void massageconserve(Item *q1, Item *q3, Item *q5)
Definition: kinetic.cpp:1040
void init_linblk(Item *)
Definition: simultan.cpp:225
void move(Item *q1, Item *q2, Item *q3)
Definition: list.cpp:206
void nrn_use(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: nocpout.cpp:1823
void vectorize_do_substitute()
void kinetic_intmethod(Symbol *fun, char *meth)
Definition: kinetic.cpp:511
void massagederiv(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: deriv.cpp:469
void chk_global_state()
Definition: nocpout.cpp:2965
void sens_nonlin_out(Item *q, Symbol *fun)
Definition: sens.cpp:388
void nrnunit_dynamic_str(char *buf, const char *name, char *unit1, char *unit2)
Definition: units.cpp:1172
void net_receive(Item *qarg, Item *qp1, Item *qp2, Item *qstmt, Item *qend)
Definition: nocpout.cpp:2778
void parout()
Definition: nocpout.cpp:227
int slist_search(int listnum, Symbol *s)
char * items_as_string(Item *begin, Item *last)
Definition: noccout.cpp:563
void enquextern(Symbol *)
void solv_diffeq(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum, int steadystate, int btype)
Definition: deriv.cpp:42
void defarg(Item *q1, Item *q2)
Definition: parsact.cpp:402
void massage_linblk(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: simultan.cpp:307
void cvode_valid()
void replacstr(Item *q, char *s)
Definition: list.cpp:225
void add_reset_args(Item *)
Definition: parsact.cpp:507
void freelist(List **)
Definition: list.cpp:57
void vectorize_if_else_stmt(int)
Definition: kinetic.cpp:1435
void hocfunc(Symbol *n, Item *qpar1, Item *qpar2)
void symbol_init()
Definition: symbol.cpp:13
void see_astmt(Item *q1, Item *q2)
Definition: kinetic.cpp:1421
void matchbound(Item *q1, Item *q2, Item *q3, Item *q4, Item *q5, Symbol *sindex)
Definition: deriv.cpp:766
void leftreact()
Definition: kinetic.cpp:192
void check_block(int standard, int actual, char *mes)
Definition: kinetic.cpp:1209
void fixrlst(struct Rlist *)
Definition: kinetic.cpp:501
void massageldifus(Item *qexp, Item *qb1, Item *qb2, Symbol *indx)
Definition: kinetic.cpp:1274
void nrnmutex(int, Item *)
Definition: parsact.cpp:1232
void unGets(char *)
void massagediscblk(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: discrete.cpp:92
void flux(Item *qREACTION, Item *qdir, Item *qlast)
Definition: kinetic.cpp:220
void c_out()
Definition: cout.cpp:252
void net_init(Item *qinit, Item *qp2)
Definition: nocpout.cpp:2893
void vectorize_scan_for_func(Item *q1, Item *q2)
Definition: parsact.cpp:381
void kinetic_implicit(Symbol *fun, char *dt, char *mname)
Definition: kinetic.cpp:692
void depinstall(int type, Symbol *n, int index, char *from, char *to, char *units, Item *qs, int makeconst, char *abstol)
Definition: parsact.cpp:295
void nrn_var_assigned(Symbol *)
Definition: nocpout.cpp:2403
void cvode_kinetic(Item *qsol, Symbol *fun, int numeqn, int listnum)
void cvode_rw_cur(char *)
void massagepartial(Item *q1, Item *q2, Item *q3, Item *q6)
Definition: partial.cpp:176
void install_units(char *s1, char *s2)
Definition: units.cpp:346
void sensparm(Item *)
Definition: sens.cpp:106
void hocfunchack(Symbol *n, Item *qpar1, Item *qpar2, int hack)
void remove(Item *)
Definition: list.cpp:150
void threadsafe_seen(Item *q1, Item *q2)
Definition: nocpout.cpp:2977
void genfluxterm(struct Reaction *r, int type, int n)
Definition: kinetic.cpp:630
int cvode_cnexp_success(Item *q1, Item *q2)
void diag(char *, char *)
Definition: io.cpp:114
void bablk(int ba, int type, Item *q1, Item *q2)
Definition: nocpout.cpp:1783
void unit_pop()
Definition: units.cpp:212
void threadsafe(char *)
Definition: parsact.cpp:1216
void solvhandler()
Definition: solve.cpp:133
void massagereaction(Item *qREACTION, Item *qREACT1, Item *qlpar, Item *qcomma, Item *qrpar)
Definition: kinetic.cpp:199
void init_lineq(Item *)
Definition: simultan.cpp:234
void partial_eqn(Item *q2, Item *q4, Item *q8, Item *q11)
Definition: partial.cpp:127
void cvode_parse(Symbol *s, List *e)
void parminstall(Symbol *n, char *num, char *units, char *limits)
Definition: parsact.cpp:159
void save_dt(Item *)
Definition: solve.cpp:356
void printitem(Item *)
Definition: noccout.cpp:522
void matchinitial(Item *)
Definition: deriv.cpp:743
int in_solvefor(Symbol *)
Definition: simultan.cpp:395
void copyitems(Item *q1, Item *q2, Item *qdest)
Definition: deriv.cpp:1023
void cvode_interface(Symbol *fun, int num, int neq)
void massagenonlin(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: simultan.cpp:55
void massagekinetic(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: kinetic.cpp:298
void Unit_push(char *)
Definition: units.cpp:277
void nrn_list(Item *, Item *)
Definition: nocpout.cpp:1711
void statdefault(Symbol *n, int index, char *units, Item *qs, int makeconst)
Definition: parsact.cpp:337
void debugprintitem(Item *)
Definition: noccout.cpp:549
void kin_vect1(Item *q1, Item *q2, Item *q4)
Definition: kinetic.cpp:1342
void function_table(Symbol *s, Item *qpar1, Item *qpar2, Item *qb1, Item *qb2)
Definition: parsact.cpp:1125
void solv_lineq(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum)
Definition: simultan.cpp:27
void partial_bndry(int type, Item *qvar, Item *qfirstlast, Item *qexpr, Item *qlast)
Definition: partial.cpp:266
void add_nrnthread_arg(Item *)
Definition: parsact.cpp:517
void deltokens(Item *, Item *)
Definition: list.cpp:195
void queue_stmt(Item *q1, Item *q2)
Definition: parsact.cpp:480
void conductance_hint(int blocktype, Item *q1, Item *q2)
Definition: nocpout.cpp:2987
void table_massage(List *tablist, Item *qtype, Item *qname, List *arglist)
Definition: parsact.cpp:584
void nrninit()
Definition: nocpout.cpp:211
void solv_nonlin(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum)
Definition: simultan.cpp:12
void kin_vect3(Item *q1, Item *q2, Item *q4)
Definition: kinetic.cpp:1366
void see_ostmt()
Definition: kinetic.cpp:1410
void decode_ustr(Symbol *sym, double *pg1, double *pg2, char *s)
Definition: nocpout.cpp:1577
void eqnqueue(Item *)
Definition: simultan.cpp:39
void include_file(Item *)
Definition: io.cpp:303
void kin_vect2()
Definition: kinetic.cpp:1351
void add_sens_statelist(Symbol *)
Definition: sens.cpp:113
void disc_var_seen(Item *q1, Item *q2, Item *q3, int array)
Definition: discrete.cpp:62
void linterm(Item *q1, Item *q2, int pstate, int sign)
Definition: simultan.cpp:277
void units_reg()
Definition: nocpout.cpp:1625
void modl_units()
void netrec_asgn(Item *varname, Item *equal, Item *expr, Item *lastok)
void indepinstall(Symbol *n, char *from, char *to, char *with, Item *qstart, char *units, int scop)
Definition: parsact.cpp:232
void pushlocal()
Definition: symbol.cpp:84
void lag_stmt(Item *q1, int blocktype)
Definition: parsact.cpp:422
void vectorize_use_func(Item *qname, Item *qpar1, Item *qexpr, Item *qpar2, int blocktype)
void warn_ignore(Symbol *)
Definition: nocpout.cpp:1405
void matchmassage(int)
Definition: deriv.cpp:818
void unit_div()
Definition: units.cpp:384
void cvode_proced_emit()
void fornetcon(Item *keyword, Item *par1, Item *args, Item *par2, Item *stmt, Item *qend)
Definition: nocpout.cpp:2911
void cvode_emit_interface()
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:1169
void deriv_used(Symbol *s, Item *q1, Item *q2)
Definition: deriv.cpp:450
void explicit_decl(int level, Item *q)
Definition: parsact.cpp:39
void sensmassage(int type, Item *qfun, int fn)
Definition: sens.cpp:119
void check_tables()
Definition: parsact.cpp:547
void inblock(char *)
Definition: io.cpp:54
int const size_t const size_t n
Definition: nrngsl.h:11
size_t q
#define e
Definition: passive0.cpp:22
#define sign(x)
Definition: qrfactor.c:52
#define begin
Definition: redef.h:32
Definition: model.h:15
Definition: model.h:57
static Item * qexpr[3]
Definition: units1.cpp:66