1 #include <../../nmodlconf.h>
145 char sname[256], dname[257];
148 Symbol *oldfun, *newfun, *s;
153 diag(
buf,
"is user defined and cant be used for SENS");
158 newfun->
u.
i = oldfun->
u.
i;
161 if (
type == DERIVATIVE) {
191 if (
type == DERIVATIVE) {
193 "error=trajecsens(%d, _slist%d, _dlist%d,\
194 _p, &%s, %s, %s, %d, _slist%d+%d, _dlist%d+%d);\n if(error){abort_run(error);}\n",
207 }
else if (
type == NONLINEAR) {
209 "error=steadysens(%d, _slist%d, _p, &%s, %s,\
210 _dlist%d, %d, _slist%d+%d);\n if(error){abort_run(error);}\n",
220 }
else if (
type == LINEAR) {
222 "error=linearsens(%d, _slist%d, _p, &%s, %s,\
223 _coef%d, %d, _slist%d+%d);\n if(error){abort_run(error);}\n",
249 if (
type == DERIVATIVE) {
256 "for (_i=0;_i<%d;_i++){\n _slist%d[%d+_i] = %s_columnindex + _i; "
257 "_dlist%d[%d+_i] = %s_columnindex + _i;}\n",
267 "_slist%d[%d] = %s_columnindex; _dlist%d[%d] = %s_columnindex;\n",
275 }
else if (
type == NONLINEAR ||
type == LINEAR) {
278 "for (_i=0;_i<%d;_i++){\
279 _slist%d[%d+_i] = %s_columnindex + _i;}\n",
300 "static int _eplist%d[%d], _emlist%d[%d];\n",
309 "envelope(_p, _slist%d, %d, %s, U_%s,\
310 _slist%d+%d, _eplist%d + %d, _emlist%d + %d);\n",
354 "for (_i=0;_i<%d;_i++){\
355 _eplist%d[%d+_i] = %s_columnindex + _i; _emlist%d[%d+_i] = %s_columnindex + _i;}\n",
365 "_eplist%d[%d] = %s_columnindex; _emlist%d[%d] = %s_columnindex;\n",
377 if (
type == DERIVATIVE) {
397 if (
SYM(q1) == fun) {
Symbol * ifnew_parminstall(char *name, char *num, char *units, char *limits)
#define ITERATE(itm, lst)
NMODL parser global flags / functions.
void freelist(List **plist)
Item * lappendsym(List *list, Symbol *sym)
void depinstall(int type, Symbol *n, int index, char *from, char *to, char *units, Item *qs, int makeconst, char *abstol)
void sens_nonlin_out(Item *q, Symbol *fun)
void sensparm(Item *qparm)
void add_sens_statelist(Symbol *s)
void sensmassage(int type, Item *qfun, int fn)