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(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, Symbol* fun, Symbol* method, int numeqn, int listnum, int steadystate, int btype);
20 void add_deriv_imp_list(char*);
21 void deriv_used(Symbol* s, Item* q1, Item* q2);
22 void massagederiv(Item* q1, Item* q2, Item* q3, Item* q4, int sensused);
23 void matchinitial(Item*);
24 void matchbound(Item* q1, Item* q2, Item* q3, Item* q4, Item* q5, Symbol* sindex);
25 void checkmatch(int);
26 void matchmassage(int);
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(char*, char*);
35 void enquextern(Symbol*);
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, int sensused);
42 void fixrlst(struct Rlist*);
43 void kinetic_intmethod(Symbol* fun, char* meth);
44 void genfluxterm(struct Reaction* r, int type, int n);
45 void kinetic_implicit(Symbol* fun, char* dt, char* mname);
46 void massageconserve(Item* q1, Item* q3, Item* q5);
47 void check_block(int standard, int actual, 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 ostmt_start();
54 void see_astmt(Item* q1, Item* q2);
55 void see_ostmt();
56 void prn(Item* q1, Item* q2);
57 void cvode_kinetic(Item* qsol, Symbol* fun, int numeqn, int listnum);
58 void single_channel(Item* qsol, Symbol* fun, int numeqn, int listnum);
59 void freelist(List**);
60 void remove(Item*);
61 void deltokens(Item*, Item*);
62 void move(Item* q1, Item* q2, Item* q3);
63 void movelist(Item* q1, Item* q2, List* s);
64 void replacstr(Item* q, char* s);
65 void c_out();
66 void printitem(Item*);
67 void debugprintitem(Item*);
68 void c_out_vectorize();
69 void vectorize_substitute(Item* q, char* str);
71 void nrninit();
72 void parout();
73 void warn_ignore(Symbol*);
74 void ldifusreg();
75 void decode_ustr(Symbol* sym, double* pg1, double* pg2, char* s);
76 void units_reg();
77 void nrn_list(Item*, Item*);
78 void bablk(int ba, int type, Item* q1, Item* q2);
79 void nrn_use(Item* q1, Item* q2, Item* q3, Item* q4);
81 void slist_data(Symbol* s, int indx, int findx) ;
82 void out_nt_ml_frag(List*);
84 void cvode_proced_emit();
85 void cvode_interface(Symbol* fun, int num, int neq);
86 void cvode_valid();
87 void cvode_rw_cur(char*);
88 void net_receive(Item* qarg, Item* qp1, Item* qp2, Item* qstmt, Item* qend);
89 void net_init(Item* qinit, Item* qp2);
90 void fornetcon(Item* keyword, Item* par1, Item* args, Item* par2, Item* stmt, Item* qend);
91 void chk_thread_safe();
92 void threadsafe_seen(Item* q1, Item* q2);
93 void explicit_decl(int level, Item* q);
94 void parm_array_install(Symbol* n, char* num, char* units, char* limits, int index);
95 void parminstall(Symbol* n, char* num, char* units, char* limits);
96 void steppedinstall(Symbol* n, Item* q1, Item* q2, char* units);
97 void indepinstall(Symbol* n, char* from, char* to, char* with, Item* qstart, char* units, int scop);
98 void depinstall(int type, Symbol* n, int index, char* from, char* to, char* units, Item* qs, int makeconst, char* abstol);
99 void statdefault(Symbol* n, int index, char* units, Item* qs, int makeconst);
100 void vectorize_scan_for_func(Item* q1, Item* q2);
101 void defarg(Item* q1, Item* q2);
102 void lag_stmt(Item* q1, int blocktype);
103 void queue_stmt(Item* q1, Item* q2);
104 void add_reset_args(Item*);
105 void add_nrnthread_arg(Item*);
106 void check_tables();
107 void table_massage(List* tablist, Item* qtype, Item* qname, List* arglist);
108 void hocfunchack(Symbol* n, Item* qpar1, Item* qpar2, int hack);
109 void hocfunc(Symbol* n, Item* qpar1, Item* qpar2);
110 void vectorize_use_func(Item* qname, Item* qpar1, Item* qexpr, Item* qpar2, int blocktype);
111 void function_table(Symbol* s, Item* qpar1, Item* qpar2, Item* qb1, Item* qb2);
112 void watchstmt(Item* par1, Item* dir, Item* par2, Item* flag, int blocktype);
113 void threadsafe(char*);
114 void nrnmutex(int, Item*);
115 void solv_partial(Item* qsol, Symbol* fun);
116 void partial_eqn(Item* q2, Item* q4, Item* q8, Item* q11);
117 void massagepartial(Item* q1, Item* q2, Item* q3, Item* q6);
118 void partial_bndry(int type, Item* qvar, Item* qfirstlast, Item* qexpr, Item* qlast);
119 void sensparm(Item*);
121 void sensmassage(int type, Item* qfun, int fn);
122 void sens_nonlin_out(Item* q, Symbol* fun);
123 void solv_nonlin(Item* qsol, Symbol* fun, Symbol* method, int numeqn, int listnum);
124 void solv_lineq(Item* qsol, Symbol* fun, Symbol* method, int numeqn, int listnum);
125 void eqnqueue(Item*);
126 void massagenonlin(Item* q1, Item* q2, Item* q3, Item* q4, int sensused);
127 void init_linblk(Item*);
128 void init_lineq(Item*);
129 void lin_state_term(Item* q1, Item* q2);
130 void linterm(Item* q1, Item* q2, int pstate, int sign);
131 void massage_linblk(Item* q1, Item* q2, Item* q3, Item* q4, int sensused);
132 void solvequeue(Item* q1, Item* q2, int blocktype, Item* qerr);
133 void solvhandler();
134 void save_dt(Item*);
135 void symbol_init();
136 void pushlocal();
137 void poplocal();
138 
139 void conductance_hint(int blocktype, Item* q1, Item* q2);
140 void possible_local_current(int blocktype, List* symlist);
142 void netrec_asgn(Item* varname, Item* equal, Item* expr, Item* lastok);
143 void netrec_discon();
144 char* items_as_string(Item* begin, Item* last); /* does not include last */
145 int slist_search(int listnum, Symbol* s);
146 void nrnunit_dynamic_str(char* buf, const char* name, char* unit1, char* unit2);
void modl_units()
void massagederiv(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: deriv.cpp:421
short type
Definition: cabvars.h:10
void c_out_vectorize(const char *)
void vectorize_do_substitute()
void include_file(Item *)
Definition: io.cpp:309
void function_table(Symbol *s, Item *qpar1, Item *qpar2, Item *qb1, Item *qb2)
Definition: parsact.cpp:1091
void kin_vect1(Item *q1, Item *q2, Item *q4)
Definition: kinetic.cpp:1325
void table_massage(List *tablist, Item *qtype, Item *qname, List *arglist)
Definition: parsact.cpp:573
void nrn_use(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: nocpout.cpp:1668
void deltokens(Item *, Item *)
Definition: list.cpp:219
void debugprintitem(Item *)
Definition: noccout.cpp:544
void hocfunc(Symbol *n, Item *qpar1, Item *qpar2)
static HocParmLimits limits[]
Definition: extcelln.cpp:33
void lag_stmt(Item *q1, int blocktype)
Definition: parsact.cpp:418
void parout()
Definition: nocpout.cpp:225
void flux(Item *qREACTION, Item *qdir, Item *qlast)
Definition: kinetic.cpp:221
void disc_var_seen(Item *q1, Item *q2, Item *q3, int array)
Definition: discrete.cpp:62
void cvode_emit_interface()
void netrec_asgn(Item *varname, Item *equal, Item *expr, Item *lastok)
void explicit_decl(int level, Item *q)
Definition: parsact.cpp:39
void poplocal()
Definition: symbol.cpp:92
void leftreact()
Definition: kinetic.cpp:192
void pushlocal()
Definition: symbol.cpp:85
void steppedinstall(Symbol *n, Item *q1, Item *q2, char *units)
Definition: parsact.cpp:198
void net_receive(Item *qarg, Item *qp1, Item *qp2, Item *qstmt, Item *qend)
Definition: nocpout.cpp:2553
void chk_thread_safe()
Definition: nocpout.cpp:2708
void kinetic_intmethod(Symbol *fun, char *meth)
Definition: kinetic.cpp:502
void checkmatch(int)
Definition: deriv.cpp:710
void nrnmutex(int, Item *)
Definition: parsact.cpp:1196
Item * lastok
Definition: io.cpp:13
void solvhandler()
Definition: solve.cpp:133
void matchinitial(Item *)
Definition: deriv.cpp:651
void massagepartial(Item *q1, Item *q2, Item *q3, Item *q6)
Definition: partial.cpp:164
void sensmassage(int type, Item *qfun, int fn)
Definition: sens.cpp:121
void vectorize_use_func(Item *qname, Item *qpar1, Item *qexpr, Item *qpar2, int blocktype)
void check_block(int standard, int actual, char *mes)
Definition: kinetic.cpp:1193
void bablk(int ba, int type, Item *q1, Item *q2)
Definition: nocpout.cpp:1630
void ldifusreg()
Definition: nocpout.cpp:1302
void add_deriv_imp_list(char *)
Definition: deriv.cpp:391
void nrnunit_dynamic_str(char *buf, const char *name, char *unit1, char *unit2)
Definition: units.cpp:1182
void massageconserve(Item *q1, Item *q3, Item *q5)
Definition: kinetic.cpp:1000
void cvode_proced_emit()
void genfluxterm(struct Reaction *r, int type, int n)
Definition: kinetic.cpp:617
static double abstol(void *v)
Definition: cvodeobj.cpp:185
#define e
Definition: passive0.cpp:24
void ostmt_start()
Definition: kinetic.cpp:1382
void movelist(Item *q1, Item *q2, List *s)
Definition: list.cpp:245
void init_disc_vars()
Definition: discrete.cpp:122
char * items_as_string(Item *begin, Item *last)
Definition: noccout.cpp:558
void kin_vect2()
Definition: kinetic.cpp:1335
void massagekinetic(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: kinetic.cpp:296
Definition: model.h:15
double dt
Definition: init.cpp:123
void massageldifus(Item *qexp, Item *qb1, Item *qb2, Symbol *indx)
Definition: kinetic.cpp:1260
void decode_ustr(Symbol *sym, double *pg1, double *pg2, char *s)
Definition: nocpout.cpp:1431
void init()
Definition: init.cpp:169
void statdefault(Symbol *n, int index, char *units, Item *qs, int makeconst)
Definition: parsact.cpp:332
void single_channel(Item *qsol, Symbol *fun, int numeqn, int listnum)
void init_lineq(Item *)
Definition: simultan.cpp:205
void partial_bndry(int type, Item *qvar, Item *qfirstlast, Item *qexpr, Item *qlast)
Definition: partial.cpp:259
void lin_state_term(Item *q1, Item *q2)
Definition: simultan.cpp:217
int in_solvefor(Symbol *)
Definition: simultan.cpp:358
int const size_t const size_t n
Definition: nrngsl.h:12
void parminstall(Symbol *n, char *num, char *units, char *limits)
Definition: parsact.cpp:161
void Unit_push(char *)
Definition: units.cpp:284
Symbol * breakpoint_current(Symbol *s)
Definition: nocpout.cpp:2770
void parm_array_install(Symbol *n, char *num, char *units, char *limits, int index)
Definition: parsact.cpp:146
_CONST char * s
Definition: system.cpp:74
void kin_vect3(Item *q1, Item *q2, Item *q4)
Definition: kinetic.cpp:1349
int slist_search(int listnum, Symbol *s)
void add_nrnthread_arg(Item *)
Definition: parsact.cpp:507
static int indx
Definition: deriv.cpp:240
#define sign(x)
Definition: qrfactor.c:52
void cvode_interface(Symbol *fun, int num, int neq)
void unGets(char *)
void net_init(Item *qinit, Item *qp2)
Definition: nocpout.cpp:2659
void vectorize_scan_for_func(Item *q1, Item *q2)
Definition: parsact.cpp:377
void cvode_parse(Symbol *s, List *e)
void vectorize_substitute(Item *q, char *str)
void sensparm(Item *)
Definition: sens.cpp:106
void diag(char *, char *)
Definition: io.cpp:119
void symbol_init()
Definition: symbol.cpp:13
void enquextern(Symbol *)
void add_reset_args(Item *)
Definition: parsact.cpp:496
void see_ostmt()
Definition: kinetic.cpp:1386
void depinstall(int type, Symbol *n, int index, char *from, char *to, char *units, Item *qs, int makeconst, char *abstol)
Definition: parsact.cpp:297
void possible_local_current(int blocktype, List *symlist)
Definition: nocpout.cpp:2753
void unit_div()
Definition: units.cpp:393
void indepinstall(Symbol *n, char *from, char *to, char *with, Item *qstart, char *units, int scop)
Definition: parsact.cpp:238
void nrninit()
Definition: nocpout.cpp:209
Definition: model.h:57
void threadsafe(char *)
Definition: parsact.cpp:1180
void cvode_kinetic(Item *qsol, Symbol *fun, int numeqn, int listnum)
void see_astmt(Item *q1, Item *q2)
Definition: kinetic.cpp:1397
void printitem(Item *)
Definition: noccout.cpp:516
char * name
Definition: init.cpp:16
void massagenonlin(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: simultan.cpp:49
void matchbound(Item *q1, Item *q2, Item *q3, Item *q4, Item *q5, Symbol *sindex)
Definition: deriv.cpp:675
void units(unit *)
Definition: units.cpp:736
void queue_stmt(Item *q1, Item *q2)
Definition: parsact.cpp:468
void fornetcon(Item *keyword, Item *par1, Item *args, Item *par2, Item *stmt, Item *qend)
Definition: nocpout.cpp:2677
void cvode_valid()
void watchstmt(Item *par1, Item *dir, Item *par2, Item *flag, int blocktype)
Definition: parsact.cpp:1136
void check_tables()
Definition: parsact.cpp:538
void solv_lineq(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum)
Definition: simultan.cpp:23
void copyitems(Item *q1, Item *q2, Item *qdest)
Definition: deriv.cpp:916
void nrn_list(Item *, Item *)
Definition: nocpout.cpp:1557
void massage_linblk(Item *q1, Item *q2, Item *q3, Item *q4, int sensused)
Definition: simultan.cpp:275
int cvode_cnexp_success(Item *q1, Item *q2)
void consistency()
Definition: consist.cpp:21
void inblock(char *)
Definition: io.cpp:55
void sens_nonlin_out(Item *q, Symbol *fun)
Definition: sens.cpp:337
void save_dt(Item *)
Definition: solve.cpp:352
void warn_ignore(Symbol *)
Definition: nocpout.cpp:1288
static int equal(char *s1, char *s2)
Definition: units.cpp:869
#define symlist
Definition: cabcode.cpp:17
void threadsafe_seen(Item *q1, Item *q2)
Definition: nocpout.cpp:2722
void linterm(Item *q1, Item *q2, int pstate, int sign)
Definition: simultan.cpp:244
void reactname(Item *q1, Item *lastok, Item *q2)
Definition: kinetic.cpp:153
void nrn_var_assigned(Symbol *)
Definition: nocpout.cpp:2218
void defarg(Item *q1, Item *q2)
Definition: parsact.cpp:398
void printlist(List *)
Definition: model.cpp:163
void deriv_used(Symbol *s, Item *q1, Item *q2)
Definition: deriv.cpp:402
void solvequeue(Item *q1, Item *q2, int blocktype, Item *qerr)
Definition: solve.cpp:40
void freelist(List **)
Definition: list.cpp:61
void massagediscblk(Item *q1, Item *q2, Item *q3, Item *q4)
Definition: discrete.cpp:92
void conductance_hint(int blocktype, Item *q1, Item *q2)
Definition: nocpout.cpp:2732
void replacstr(Item *q, char *s)
Definition: list.cpp:250
char buf[512]
Definition: init.cpp:13
void out_nt_ml_frag(List *)
void vectorize_if_else_stmt(int)
Definition: kinetic.cpp:1412
static Item * qexpr[3]
Definition: units1.cpp:69
void install_units(char *s1, char *s2)
Definition: units.cpp:354
void cvode_rw_cur(char *)
void solv_partial(Item *qsol, Symbol *fun)
Definition: partial.cpp:84
void eqnqueue(Item *)
Definition: simultan.cpp:31
void units_reg()
Definition: nocpout.cpp:1478
void partial_eqn(Item *q2, Item *q4, Item *q8, Item *q11)
Definition: partial.cpp:115
void init_linblk(Item *)
Definition: simultan.cpp:196
void fixrlst(struct Rlist *)
Definition: kinetic.cpp:491
void matchmassage(int)
Definition: deriv.cpp:726
#define begin
Definition: redef.h:32
size_t q
void massagereaction(Item *qREACTION, Item *qREACT1, Item *qlpar, Item *qcomma, Item *qrpar)
Definition: kinetic.cpp:199
void kinetic_implicit(Symbol *fun, char *dt, char *mname)
Definition: kinetic.cpp:682
void slist_data(Symbol *s, int indx, int findx)
void add_sens_statelist(Symbol *)
Definition: sens.cpp:114
void move(Item *q1, Item *q2, Item *q3)
Definition: list.cpp:231
void netrec_discon()
void c_out()
Definition: cout.cpp:252
short index
Definition: cabvars.h:11
void solv_diffeq(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum, int steadystate, int btype)
Definition: deriv.cpp:42
void unit_pop()
Definition: units.cpp:216
void massagecompart(Item *qexp, Item *qb1, Item *qb2, Symbol *indx)
Definition: kinetic.cpp:1222
void solv_nonlin(Item *qsol, Symbol *fun, Symbol *method, int numeqn, int listnum)
Definition: simultan.cpp:12
void hocfunchack(Symbol *n, Item *qpar1, Item *qpar2, int hack)
void prn(Item *q1, Item *q2)