NEURON
hoc_init.cpp
Go to the documentation of this file.
1 #include <../../nrnconf.h>
2 /* /local/src/master/nrn/src/oc/hoc_init.cpp,v 1.25 1999/11/08 17:48:58 hines Exp */
3 
4 #include "hoc.h"
5 #include "parse.hpp"
6 #include <math.h>
7 #include "equation.h"
8 #include "nrnunits_modern.h"
9 
10 #include "ocfunc.h"
11 
12 
13 extern void hoc_nrnmpi_init();
14 
15 #if PVM
16 extern int numprocs(), myproc(), psync();
17 #endif
18 #if 0
19 extern int hoc_co();
20 #endif
21 #if DOS || defined(WIN32) /*|| defined(MAC)*/
22 extern double erf(), erfc(); /* supplied by unix */
23 #endif
24 #if defined(WIN32)
25 extern void hoc_winio_show(int b);
26 #endif
27 
28 #if MAC
29 static double Fabs(x) double x; { return (x>0.) ? x : -x; }
30 static double Erf(x) double x; { return erf(x); }
31 static double Erfc(x) double x; { return erfc(x); }
32 #endif
33 
34 static struct { /* Keywords */
35  char *name;
36  int kval;
37 } keywords[] = {
38  "proc", parsePROC,
39  "func", FUNC,
40  "obfunc", HOCOBJFUNC,
41  "return", RETURN,
42  "break", BREAK,
43  "continue", CONTINUE,
44  "stop", STOPSTMT,
45  "if", IF,
46  "else", ELSE,
47  "while", WHILE,
48  "for", FOR,
49  "print", PRINT,
50  "delete", parseDELETE,
51  "read", READ,
52  "debug", DEBUG,
53  "double", parseDOUBLE,
54  "depvar", DEPENDENT,
55  "eqn", EQUATION,
56  "local", LOCAL,
57  "localobj", LOCALOBJ,
58  "strdef", STRDEF,
59  "parallel", PARALLEL,
60  "help", HELP,
61  "iterator", ITERKEYWORD,
62  "iterator_statement", ITERSTMT,
63 #if CABLE
64  "create", SECTIONKEYWORD,
65  "connect", CONNECTKEYWORD,
66  "setpointer", SETPOINTERKEYWORD,
67  "access", ACCESSKEYWORD,
68  "insert", INSERTKEYWORD,
69  "uninsert", UNINSERTKEYWORD,
70  "forall", FORALL,
71  "ifsec", IFSEC,
72  "forsec", FORSEC,
73 #endif /*CABLE*/
74 #if OOP
75  "begintemplate", BEGINTEMPLATE,
76  "endtemplate", ENDTEMPLATE,
77  "objectvar", OBJVARDECL,
78  "objref", OBJVARDECL,
79  "public", PUBLICDECL,
80  "external", EXTERNALDECL,
81  "new", NEW,
82 #endif
83  0, 0
84 };
85 static struct { /* Constants */
86  char *name;
87  double cval;
88 } consts[] = {
89  "PI", 3.14159265358979323846,
90  "E", 2.71828182845904523536,
91  "GAMMA",0.57721566490153286060, /* Euler */
92  "DEG", 57.29577951308232087680, /* deg/radian */
93  "PHI", 1.61803398874989484820, /* golden ratio */
94  0, 0
95 };
96 
97  /* Nov, 2017, from https://physics.nist.gov/cuu/Constants/index.html */
98 /* also see FARADAY and gasconstant in ../nrnoc/eion.c */
99 static struct { /* Modern, Legacy units constants */
100  char *name;
101  double cval[2];
102 } uconsts[] = {
103  "FARADAY", {_faraday_codata2018, 96485.309}, /*coulombs/mole*/
104  "R", {_gasconstant_codata2018, 8.31441}, /*molar gas constant, joules/mole/deg-K*/
105  "Avogadro_constant", {_avogadro_number_codata2018, 6.02214129e23}, /* note that the legacy value in nrnunits.lib.in is 6.022169+23 */
106  0, {0., 0.}
107 };
108 
109 static struct { /* Built-ins */
110  char *name;
111  double (*func)(double);
112 } builtins[] = {
113  "sin", sin,
114  "cos", cos,
115  "atan", atan,
116  "tanh", tanh,
117  "log", Log, /* checks argument */
118  "log10", Log10, /* checks argument */
119  "exp", hoc1_Exp, /* checks argument */
120  "sqrt", Sqrt, /* checks argument */
121  "int", integer,
122 #if MAC
123  "abs", Fabs,
124  "erf", Erf,
125  "erfc", Erfc,
126 #else
127  "abs", fabs,
128  "erf", erf,
129  "erfc", erfc,
130 #endif
131  0, 0
132 };
133 static struct { /* Builtin functions with multiple or variable args */
134  char *name;
136 } fun_bltin[] = {
137  "atan2", hoc_atan2,
138  "system", hoc_System,
139  "prmat", hoc_Prmat,
140  "solve", hoc_solve,
141  "eqinit", hoc_eqinit,
142  "plt", hoc_Plt,
143  "axis", hoc_axis,
144  "plot", hoc_Plot,
145  "plotx", hoc_plotx,
146  "ploty", hoc_ploty,
147  "regraph", hoc_regraph,
148  "symbols", hoc_symbols,
149  "printf", hoc_PRintf,
150  "xred", hoc_Xred,
151  "sred", hoc_Sred,
152  "ropen", hoc_ropen,
153  "wopen", hoc_wopen,
154  "xopen", hoc_xopen,
155  "hoc_stdout",hoc_stdout,
156  "chdir", hoc_Chdir,
157  "fprint", hoc_Fprint,
158  "fscan", hoc_Fscan,
159  "sscanf", hoc_sscanf,
160  "sprint", hoc_Sprint,
161  "graph", hoc_Graph,
162  "graphmode", hoc_Graphmode,
163  "fmenu", hoc_fmenu,
164  "lw", hoc_Lw,
165  "getstr", hoc_Getstr,
166  "strcmp", hoc_Strcmp,
167  "setcolor", hoc_Setcolor,
168  "startsw", hoc_startsw,
169  "stopsw", hoc_stopsw,
170  "object_id", hoc_object_id,
171  "allobjectvars", hoc_allobjectvars,
172  "allobjects", hoc_allobjects,
173  "xpanel", hoc_xpanel,
174  "xbutton", hoc_xbutton,
175  "xcheckbox", hoc_xcheckbox,
176  "xstatebutton", hoc_xstatebutton,
177  "xlabel", hoc_xlabel,
178  "xmenu", hoc_xmenu,
179  "xvalue", hoc_xvalue,
180  "xpvalue", hoc_xpvalue,
181  "xradiobutton", hoc_xradiobutton,
182  "xfixedvalue", hoc_xfixedvalue,
183  "xvarlabel", hoc_xvarlabel,
184  "xslider", hoc_xslider,
185  "boolean_dialog", hoc_boolean_dialog,
186  "continue_dialog", hoc_continue_dialog,
187  "string_dialog", hoc_string_dialog,
188  "doEvents", hoc_single_event_run,
189  "doNotify", hoc_notify_iv,
190  "nrniv_bind_thread", nrniv_bind_thread,
191  "ivoc_style", ivoc_style,
192  "numarg", hoc_Numarg,
193  "argtype", hoc_Argtype,
194  "hoc_pointer_", hoc_pointer, /* for internal use */
195  "nrn_mallinfo", hoc_mallinfo,
196  "execute", hoc_exec_cmd,
197  "execute1", hoc_execute1,
198  "load_proc", hoc_load_proc,
199  "load_func", hoc_load_func,
200  "load_template", hoc_load_template,
201  "load_file", hoc_load_file,
202  "load_java", hoc_load_java,
203  "unix_mac_pc", hoc_unix_mac_pc,
204  "show_winio", hoc_show_winio,
205  "nrn_load_dll", hoc_nrn_load_dll,
206  "machine_name", hoc_machine_name,
207  "saveaudit", hoc_Saveaudit,
208  "retrieveaudit", hoc_Retrieveaudit,
209  "coredump_on_error", hoc_coredump_on_error,
210  "checkpoint", hoc_checkpoint,
211  "quit", hoc_quit,
212  "object_push", hoc_object_push,
213  "object_pop", hoc_object_pop,
214  "pwman_place", hoc_pwman_place,
215  "save_session", hoc_save_session,
216  "print_session", hoc_print_session,
217  "show_errmess_always", hoc_show_errmess_always,
218  "execerror", hoc_Execerror,
219  "variable_domain", hoc_Symbol_limits,
220  "name_declared", hoc_name_declared,
221  "use_mcell_ran4", hoc_usemcran4,
222  "mcell_ran4", hoc_mcran4,
223  "mcell_ran4_init", hoc_mcran4init,
224  "nrn_feenableexcept", nrn_feenableexcept,
225  "nrnmpi_init", hoc_nrnmpi_init,
226 #if PVM
227  "numprocs", numprocs,
228  "myproc", myproc,
229  "psync", psync,
230 #endif
231 #if DOS
232  "settext", hoc_settext,
233 #endif
234 #if defined(WIN32)
235  "WinExec", hoc_win_exec,
236 #endif
237  0, 0
238 };
239 
240 static struct { /* functions that return a string */
241  char *name;
243 } strfun_bltin[] = {
244  "secname", hoc_secname,
245  "units", hoc_Symbol_units,
246  "neuronhome", hoc_neuronhome,
247  "getcwd", hoc_getcwd,
248  "nrnversion", hoc_nrnversion,
249  0, 0
250 };
251 
252 static struct { /* functions that return an object */
253  char *name;
255 } objfun_bltin[] = {
256  "object_pushed", hoc_object_pushed,
257  0, 0
258 };
259 
260 double hoc_epsilon = 1.e-11;
261 double hoc_ac_; /*known to the interpreter to evaluate expressions with hoc_oc() */
262 double* hoc_varpointer; /* executing hoc_pointer(&var) will put the address of
263  the variable in this location */
264 
265 double hoc_cross_x_, hoc_cross_y_; /* For Graph class in ivoc */
267 
269 char* nrn_mech_dll; /* but actually only for NEURON mswin and linux */
270 int nrn_noauto_dlopen_nrnmech; /* 0 except when binary special. */
273 int _nrnunit_use_legacy_; /* allow dynamic switching between legacy and modern units */
274 
275 void hoc_init(void) /* install constants and built-ins table */
276 {
277  int i;
278  Symbol *s;
279 
280 #if defined(DYNAMIC_UNITS_USE_LEGACY_DEFAULT)
281  _nrnunit_use_legacy_ = 1; /* legacy as default */
282 #else
283  _nrnunit_use_legacy_ = 0; /* new units as default */
284 #endif
285  { /* but check the environment variable if it exists */
286  const char* envvar = getenv("NRNUNIT_USE_LEGACY");
287  if (envvar) {
288  if (strcmp(envvar, "1") == 0) {
289  _nrnunit_use_legacy_ = 1;
290  }else if (strcmp(envvar, "0") == 0) {
291  _nrnunit_use_legacy_ = 0;
292  }
293  }
294  }
295 
296  use_mcell_ran4_ = 0;
297  nrn_xopen_broadcast_ = 255;
298  extern void hoc_init_space(void);
299  hoc_init_space();
300  for (i = 0; keywords[i].name; i++)
301  IGNORE(install(keywords[i].name, keywords[i].kval, 0.0, &symlist));
302  for (i = 0; consts[i].name; i++) {
303  s = install(consts[i].name, UNDEF, consts[i].cval, &symlist);
304  s->type = VAR;
305  s->u.pval = &consts[i].cval;
306  s->subtype = USERDOUBLE;
307  }
308  for (i = 0; uconsts[i].name; i++) {
309  s = install(uconsts[i].name, UNDEF, uconsts[i].cval[0], &symlist);
310  s->type = VAR;
311  s->u.pval = &uconsts[i].cval[0];
312  s->subtype = DYNAMICUNITS;
313  }
314  for (i = 0; builtins[i].name; i++)
315  {
316  s = install(builtins[i].name, BLTIN, 0.0, &symlist);
317  s->u.ptr = builtins[i].func;
318  }
319  for (i = 0; fun_bltin[i].name; i++)
320  {
321  s = install(fun_bltin[i].name, FUN_BLTIN, 0.0, &symlist);
322  s->u.u_proc->defn.pf = fun_bltin[i].fun_blt;
323  s->u.u_proc->nauto = 0;
324  s->u.u_proc->nobjauto = 0;
325  }
326  for (i = 0; strfun_bltin[i].name; i++)
327  {
328  s = install(strfun_bltin[i].name, FUN_BLTIN, 0.0, &symlist);
329  s->type = STRINGFUNC;
330  s->u.u_proc->defn.pf = strfun_bltin[i].strfun_blt;
331  s->u.u_proc->nauto = 0;
332  s->u.u_proc->nobjauto = 0;
333  }
334  for (i = 0; objfun_bltin[i].name; i++)
335  {
336  s = install(objfun_bltin[i].name, FUN_BLTIN, 0.0, &symlist);
337  s->type = OBJECTFUNC;
338  s->u.u_proc->defn.pf = objfun_bltin[i].objfun_blt;
339  s->u.u_proc->nauto = 0;
340  }
341  /* hoc_ac_ is a way to evaluate an expression using the interpreter */
342  hoc_install_var("hoc_ac_", &hoc_ac_);
343  hoc_install_var("float_epsilon", &hoc_epsilon);
344  hoc_install_var("hoc_cross_x_", &hoc_cross_x_);
345  hoc_install_var("hoc_cross_y_", &hoc_cross_y_);
346  hoc_install_var("default_dll_loaded_", &hoc_default_dll_loaded_);
347 
348  s = install("xopen_broadcast_", UNDEF, 0.0, &hoc_symlist);
349  s->type = VAR;
350  s->subtype = USERINT;
352 
353  /* initialize pointers ( why doesn't Vax do this?) */
354  hoc_access = (int *)0;
355  spinit();
356 #if OOP
359  symlist = (Symlist *)0;
360  /* start symlist and top level the same list */
362  symlist->first = symlist->last = (Symbol *)0;
364 #endif
365 }
366 
367 void hoc_unix_mac_pc(void) {
368  hoc_ret();
369 #if defined(DARWIN)
370  hoc_pushx(4.);
371 #else
372 #if MAC
373  hoc_pushx(2.);
374 #else
375 #if defined(WIN32)
376  hoc_pushx(3.);
377 #else
378  hoc_pushx(1.);
379 #endif
380 #endif
381 #endif
382 }
383 void hoc_show_winio(void) {
384  int b;
385  b = (int)chkarg(1, 0., 1.);
386 #if MAC
387  hoc_sioux_show(b);
388 #endif
389 #if defined(WIN32)
390  hoc_winio_show(b);
391 #endif
392  hoc_ret();
393  hoc_pushx(0.);
394 }
395 
397 
398 void hoc_nrnversion(void) {
399  extern char* nrn_version(int);
400  char** p = hoc_temp_charptr();
401  int i;
402  i = 1;
403  if (ifarg(1)) {
404  i = (int)chkarg(1, 0., 20.);
405  }
406  hoc_ret();
407  *p = nrn_version(i);
408  hoc_pushstr(p);
409 }
410 
411 void hoc_Execerror(void) {
412  char* c2 = (char*)0;
413  if (ifarg(2)) {
414  c2 = gargstr(2);
415  }
416  if (ifarg(1)) {
417  hoc_execerror(gargstr(1), c2);
418  }else{
419  hoc_execerror_mes(c2, c2, 0);
420  }
421  /* never get here */
422 }
double Log10(double x)
Definition: math.cpp:39
void hoc_single_event_run()
Definition: ivocmain.cpp:877
void hoc_name_declared(void)
Definition: code2.cpp:715
Definition: hocdec.h:84
hoc_settext()
Definition: macprt.cpp:135
void hoc_winio_show(int b)
Definition: mswinprt.cpp:342
hoc_Plt()
Definition: macprt.cpp:132
void hoc_Symbol_units(void)
Definition: code2.cpp:146
void hoc_startsw(void)
Definition: ftime.cpp:35
void hoc_Prmat(void)
Definition: nonlin.cpp:278
atan
Definition: extdef.h:3
void hoc_init(void)
Definition: hoc_init.cpp:275
void hoc_PRintf(void)
void hoc_xstatebutton()
Definition: ocnoiv1.cpp:53
#define FORALL(state, dstate)
Definition: deriv.cpp:233
int _nrnunit_use_legacy_
Definition: hoc_init.cpp:273
void hoc_wopen(void)
void hoc_object_push(void)
Definition: hoc_oop.cpp:243
short type
Definition: model.h:58
tanh
Definition: extdef.h:3
void hoc_init_space(void)
Definition: code.cpp:352
int nrn_main_launch
Definition: hoc_init.cpp:396
void hoc_Fprint(void)
void hoc_Xred(void)
hoc_Setcolor()
Definition: macprt.cpp:133
double hoc1_Exp(double x)
Definition: math.cpp:61
void
void hoc_xradiobutton()
Definition: ocnoiv1.cpp:81
void hoc_save_session()
Definition: ocnoiv1.cpp:155
double Log(double x)
Definition: math.cpp:35
size_t p
void hoc_xmenu()
Definition: ocnoiv1.cpp:60
void hoc_atan2(void)
Definition: math.cpp:28
void hoc_xvalue()
Definition: ocnoiv1.cpp:67
void hoc_symbols(void)
static struct @51 objfun_bltin[]
void hoc_mcran4()
Definition: mcran4.cpp:76
cos
Definition: extdef.h:3
void hoc_mallinfo(void)
char * nrn_mech_dll
Definition: hoc_init.cpp:269
void hoc_stdout(void)
Definition: fileio.cpp:43
void hoc_neuronhome(void)
Definition: code2.cpp:206
void hoc_Symbol_limits(void)
Definition: code2.cpp:76
char * nrn_version(int)
Definition: nrnversion.cpp:27
sin
Definition: extdef.h:3
void hoc_secname(void)
Definition: cabcode.cpp:2283
void hoc_object_id(void)
Definition: hoc_oop.cpp:980
void hoc_xpvalue()
Definition: ocnoiv1.cpp:25
void hoc_xpanel()
Definition: ocnoiv1.cpp:74
void hoc_Getstr(void)
Definition: fileio.cpp:419
void hoc_solve(void)
void hoc_Graph(void)
Definition: axis.cpp:498
void spinit(SPTREE< SPBLK > *q)
Definition: sptree.h:139
char * name
Definition: hoc_init.cpp:35
void hoc_boolean_dialog()
Definition: ocnoiv1.cpp:109
#define gargstr
Definition: hocdec.h:14
void hoc_fmenu(void)
Definition: fmenu.cpp:211
static struct @48 builtins[]
#define IGNORE(arg)
Definition: model.h:262
void hoc_load_template(void)
Definition: fileio.cpp:639
void hoc_unix_mac_pc(void)
Definition: hoc_init.cpp:367
void hoc_ret()
void hoc_load_java(void)
Definition: fileio.cpp:620
void hoc_show_winio(void)
Definition: hoc_init.cpp:383
void hoc_Retrieveaudit(void)
Definition: audit.cpp:197
Symlist * hoc_top_level_symlist
Definition: code2.cpp:662
void ivoc_style()
Definition: ocnoiv1.cpp:169
double cval
Definition: hoc_init.cpp:87
int * pvalint
Definition: hocdec.h:140
double(* ptr)(double)
Definition: hocdec.h:143
static struct @50 strfun_bltin[]
#define install
Definition: redef.h:82
static struct @45 keywords[]
static struct @49 fun_bltin[]
void hoc_Argtype(void)
Definition: code.cpp:1531
hoc_Lw()
Definition: macprt.cpp:134
int use_mcell_ran4_
Definition: hoc_init.cpp:271
_CONST char * s
Definition: system.cpp:74
void nrniv_bind_thread(void)
Definition: ivoc.cpp:130
void hoc_Sred(void)
Definition: xred.cpp:106
void hoc_quit(void)
Definition: hoc.cpp:1164
int nauto
Definition: hocdec.h:80
void hoc_Chdir(void)
Definition: fileio.cpp:865
void hoc_load_proc(void)
Definition: fileio.cpp:629
int
Definition: nrnmusic.cpp:71
static struct @47 uconsts[]
void hoc_continue_dialog()
Definition: ocnoiv1.cpp:121
void hoc_win_exec(void)
Definition: mswinprt.cpp:222
#define DEBUG
Definition: list.cpp:36
void hoc_execerror(const char *, const char *)
Definition: hoc.cpp:741
Symlist * hoc_symlist
void hoc_Strcmp(void)
Definition: code2.cpp:230
Proc * u_proc
Definition: hocdec.h:144
double * pval
Definition: hocdec.h:136
Inst defn
Definition: hocdec.h:76
void hoc_Graphmode(void)
Definition: axis.cpp:536
void hoc_class_registration(void)
Definition: classreg.cpp:27
char * getenv(const char *s)
Definition: macprt.cpp:67
void hoc_execerror_mes(const char *s, const char *t, int prnt)
Definition: hoc.cpp:688
#define USERDOUBLE
Definition: hocdec.h:93
Definition: model.h:57
void(* strfun_blt)(void)
Definition: hoc_init.cpp:242
void hoc_xfixedvalue()
Definition: ocnoiv1.cpp:88
void hoc_notify_iv()
Definition: ocnoiv1.cpp:20
#define _gasconstant_codata2018
void hoc_Fscan(void)
void hoc_pwman_place()
Definition: ocnoiv1.cpp:148
char * emalloc(unsigned n)
Definition: list.cpp:189
void hoc_eqinit(void)
double Sqrt(double x)
Definition: math.cpp:71
int nobjauto
Definition: hocdec.h:81
int kval
Definition: hoc_init.cpp:36
void hoc_print_session()
Definition: ocnoiv1.cpp:162
void hoc_regraph(void)
Definition: axis.cpp:189
Symlist * hoc_built_in_symlist
Definition: symbol.cpp:39
void hoc_string_dialog()
Definition: ocnoiv1.cpp:128
double(* func)(double)
Definition: hoc_init.cpp:111
int nrn_xopen_broadcast_
Definition: hoc_init.cpp:272
static struct @46 consts[]
int ifarg(int)
Definition: code.cpp:1562
void hoc_object_pop(void)
Definition: hoc_oop.cpp:273
void hoc_ropen(void)
void hoc_allobjectvars(void)
Definition: hoc_oop.cpp:2169
long subtype
Definition: model.h:59
Pfrv pf
Definition: hocdec.h:52
void hoc_load_file(void)
Definition: fileio.cpp:645
void hoc_pushx(double)
void hoc_nrn_load_dll()
Definition: ivocmac.cpp:147
void hoc_exec_cmd(void)
Definition: hoc_oop.cpp:357
void hoc_Saveaudit(void)
Definition: audit.cpp:156
double integer(double x)
Definition: math.cpp:79
void hoc_xcheckbox()
Definition: ocnoiv1.cpp:46
void hoc_nrnversion(void)
Definition: hoc_init.cpp:398
void hoc_Plot(void)
Definition: axis.cpp:227
void hoc_checkpoint()
Definition: ocnoiv1.cpp:140
double hoc_cross_x_
Definition: hoc_init.cpp:265
void hoc_execute1()
Definition: ocjump.cpp:39
void hoc_coredump_on_error(void)
Definition: hoc.cpp:761
void hoc_System(void)
#define symlist
Definition: cabcode.cpp:17
#define DYNAMICUNITS
Definition: hocdec.h:103
int nrn_noauto_dlopen_nrnmech
Definition: hoc_init.cpp:270
#define _faraday_codata2018
void hoc_mcran4init()
Definition: mcran4.cpp:87
void(* objfun_blt)(void)
Definition: hoc_init.cpp:254
void hoc_pointer(void)
Definition: code2.cpp:692
#define USERINT
Definition: hocdec.h:92
#define i
Definition: md1redef.h:12
void hoc_xlabel()
Definition: ocnoiv1.cpp:32
void hoc_load_func(void)
Definition: fileio.cpp:634
int * hoc_access
Definition: nonlin.cpp:15
void(* fun_blt)(void)
Definition: hoc_init.cpp:135
void hoc_sscanf(void)
Definition: code2.cpp:240
void hoc_nrnmpi_init()
Definition: ivocmain.cpp:378
void hoc_install_hoc_obj(void)
Definition: hoc_oop.cpp:56
#define PRINT
Definition: dll.cpp:60
void hoc_show_errmess_always(void)
Definition: hoc.cpp:658
void hoc_xslider()
Definition: ocnoiv1.cpp:102
#define _avogadro_number_codata2018
double hoc_default_dll_loaded_
Definition: hoc_init.cpp:266
fabs
Definition: extdef.h:3
void hoc_usemcran4()
Definition: mcran4.cpp:97
double * hoc_varpointer
Definition: hoc_init.cpp:262
void hoc_pushstr(char **d)
Definition: code.cpp:665
void hoc_plotx(void)
Definition: axis.cpp:299
void hoc_Execerror(void)
Definition: hoc_init.cpp:411
double hoc_ac_
Definition: hoc_init.cpp:261
union Symbol::@18 u
void hoc_xbutton()
Definition: ocnoiv1.cpp:39
void hoc_Numarg(void)
Definition: code.cpp:1519
char ** hoc_temp_charptr(void)
Definition: code.cpp:625
void hoc_xopen(void)
void hoc_ploty(void)
Definition: axis.cpp:304
void hoc_object_pushed(void)
Definition: hoc_oop.cpp:265
void hoc_machine_name(void)
Definition: fileio.cpp:847
void nrn_feenableexcept()
Definition: hoc.cpp:81
void hoc_getcwd(void)
Definition: fileio.cpp:817
Symbol * hoc_install_var(const char *, double *)
Definition: symbol.cpp:140
void hoc_stopsw(void)
Definition: ftime.cpp:39
double hoc_cross_y_
Definition: hoc_init.cpp:265
erf
Definition: extdef.h:3
double chkarg(int, double low, double high)
Definition: code2.cpp:608
char * neuron_home
Definition: hoc_init.cpp:268
void hoc_Sprint(void)
Definition: fileio.cpp:351
#define NEW(type)
Definition: matrix.h:136
void hoc_xvarlabel()
Definition: ocnoiv1.cpp:95
void hoc_allobjects(void)
Definition: hoc_oop.cpp:2110
double hoc_epsilon
Definition: hoc_init.cpp:260
void hoc_axis(void)
Definition: axis.cpp:312