NEURON
oc_ansi.h
Go to the documentation of this file.
1 #ifndef oc_ansi_h
2 #define oc_ansi_h
3 
4 
5 /**
6  * \dir
7  * \brief HOC Interpreter
8  *
9  * \file
10  * \brief HOC interpreter function declarations (included by hocdec.h)
11  */
12 
13 /**
14  * @defgroup HOC HOC Interpreter
15  * @brief All HOC interpreter related implementation details
16  *
17  * @defgroup hoc_functions HOC Functions
18  * @ingroup HOC
19  * @brief All hoc functions used in the NEURON codebase
20  * @{
21  */
22 
23 
24 #if defined(__cplusplus)
25 class IvocVect;
26 #else
27 #define IvocVect void
28 #endif
29 
30 #if defined(__cplusplus)
31 extern "C" {
32 #endif
33 
34 // nocpout.cpp
35 extern void hoc_register_var(DoubScal*, DoubVec*, VoidFunc*);
36 extern void ivoc_help(const char*);
37 
38 extern Symbol* hoc_lookup(const char*);
39 
40 extern void* hoc_Ecalloc(size_t nmemb, size_t size);
41 extern void* hoc_Emalloc(size_t size);
42 extern void hoc_malchk(void);
43 
44 extern void hoc_execerror(const char*, const char*);
45 extern void hoc_execerr_ext(const char* fmt, ...);
46 extern char* hoc_object_name(Object*);
47 extern void hoc_retpushx(double);
48 
49 extern double* getarg(int);
50 extern int ifarg(int);
51 
52 extern int vector_instance_px(void*, double**);
53 extern void install_vector_method(const char*, double (*)(void*));
54 
55 extern IvocVect* vector_arg(int);
56 extern int vector_arg_px(int i, double** p);
57 extern double* vector_vec(IvocVect*);
59 extern void vector_resize(IvocVect*, int);
60 
61 #if defined(__cplusplus)
62 }
63 #endif
64 
65 extern int nrnignore;
66 
67 #if defined(__cplusplus)
68 extern "C" {
69 #endif
70 
71 
72 /**
73  * \brief Brief explanation of hoc_obj_run
74  *
75  * Detailed explanation of hoc_obj_run goes here.
76  */
77 extern int hoc_obj_run(const char*, Object*);
78 
79 extern int hoc_argtype(int);
80 extern int hoc_is_double_arg(int);
81 extern int hoc_is_pdouble_arg(int);
82 extern int hoc_is_str_arg(int);
83 extern int hoc_is_object_arg(int);
84 extern char* gargstr(int);
85 extern char** hoc_pgargstr(int);
86 
87 extern double* hoc_pgetarg(int);
88 extern Object** hoc_objgetarg(int);
89 extern Object* hoc_name2obj(const char* name, int index);
90 
91 extern char** hoc_temp_charptr(void);
92 extern int hoc_is_temp_charptr(char** cpp);
93 extern void hoc_assign_str(char** pstr, const char* buf);
94 extern double chkarg(int, double low, double high);
95 extern double hoc_call_func(Symbol*,
96  int narg); /* push first arg first. Warning: if the function is inside
97  an object make sure you know what you are doing.*/
98 extern double hoc_call_objfunc(Symbol*, int narg, Object*); /* call a fuction within the context of
99  an object.*/
100 extern double hoc_ac_;
101 extern double hoc_epsilon;
102 extern int nrn_inpython_;
103 
104 extern int hoc_color;
105 extern int hoc_set_color(int);
106 extern void hoc_plt(int, double, double);
107 extern void hoc_plprint(const char*);
108 extern void hoc_ret(void); /* but need to push before returning */
109 
110 extern void hoc_pushx(double);
111 extern void hoc_pushstr(char**);
112 extern void hoc_pushobj(Object**);
113 extern void hoc_push_object(Object*);
114 extern void hoc_pushpx(double*);
115 extern void hoc_pushs(Symbol*);
116 extern void hoc_pushi(int);
117 extern double hoc_xpop(void);
118 extern Symbol* hoc_spop(void);
119 extern double* hoc_pxpop(void);
120 extern Object** hoc_objpop(void);
121 extern Object* hoc_pop_object(void);
122 extern char** hoc_strpop(void);
123 extern int hoc_ipop(void);
124 extern void hoc_nopop(void);
125 
126 extern void hoc_execerror_mes(const char*, const char*, int);
127 extern void hoc_warning(const char*, const char*);
128 extern double* hoc_val_pointer(const char*);
129 extern Symbol* hoc_table_lookup(const char*, Symlist*);
130 extern Symbol* hoc_install(const char*, int, double, Symlist**);
131 extern Objectdata* hoc_objectdata;
132 extern Datum* hoc_look_inside_stack(int, int);
133 extern Object* hoc_obj_look_inside_stack(int);
134 extern int hoc_obj_look_inside_stack_index(int);
135 extern void hoc_stkobj_unref(Object*, int stkindex);
136 extern size_t hoc_total_array_data(Symbol*, Objectdata*);
137 extern char* hoc_araystr(Symbol*, int, Objectdata*);
138 
139 extern char* hoc_object_pathname(Object*);
140 extern const char* expand_env_var(const char*);
141 extern void check_obj_type(Object*, const char*);
142 extern int is_obj_type(Object*, const char*);
143 extern void hoc_obj_ref(Object*); /* NULL allowed */
144 extern void hoc_obj_unref(Object*); /* NULL allowed */
145 extern void hoc_dec_refcount(Object**);
146 extern Object** hoc_temp_objvar(Symbol* template_symbol, void* cpp_object);
147 extern Object** hoc_temp_objptr(Object*);
148 extern void hoc_new_object_asgn(Object** obp, Symbol* template_symbol, void* cpp_object);
149 extern HocSymExtension* hoc_var_extra(const char*);
150 extern double check_domain_limits(float*, double);
151 extern Object* hoc_obj_get(int i);
152 extern void hoc_obj_set(int i, Object*);
153 extern void nrn_hoc_lock(void);
154 extern void nrn_hoc_unlock(void);
155 
156 extern void* hoc_Erealloc(void* ptr, size_t size);
157 
158 extern void* nrn_cacheline_alloc(void** memptr, size_t size);
159 extern void* nrn_cacheline_calloc(void** memptr, size_t nmemb, size_t size);
160 extern void nrn_exit(int);
161 extern void hoc_free_list(Symlist**);
162 extern int hoc_errno_check(void);
163 extern Symbol* hoc_parse_stmt(const char*, Symlist**);
164 extern void hoc_run_stmt(Symbol*);
165 extern Symbol* hoc_parse_expr(const char*, Symlist**);
166 extern double hoc_run_expr(Symbol*);
167 extern void hoc_free_string(char*);
168 extern int hoc_xopen1(const char*, const char*);
169 extern int hoc_xopen_run(Symbol*, const char*);
170 extern void hoc_symbol_limits(Symbol*, float, float);
171 extern void sym_extra_alloc(Symbol*);
172 extern int hoc_chdir(const char* path);
173 
174 extern void hoc_final_exit();
175 extern void hoc_sprint1(char**, int);
176 extern double hoc_scan(FILE*);
177 extern char* hoc_symbol_units(Symbol* sym, const char* units);
178 extern void hoc_fake_call(Symbol*);
179 extern void hoc_last_init(void);
180 extern void hoc_obj_notify(Object*);
181 extern int ivoc_list_count(Object*);
183 extern double hoc_func_table(void* functable, int n, double* args);
184 extern void hoc_spec_table(void** pfunctable, int n);
185 extern void* hoc_sec_internal_name2ptr(const char* s, int eflag);
186 extern void* hoc_pysec_name2ptr(const char* s, int eflag);
187 extern void* nrn_parsing_pysec_;
188 
189 extern void vector_append(IvocVect*, double);
190 extern IvocVect* vector_new(int, Object*); /*use this if possible*/
191 extern IvocVect* vector_new0();
192 extern IvocVect* vector_new1(int);
194 extern void vector_delete(IvocVect*);
196 
199 
200 extern int is_vector_arg(int);
201 
202 extern char* vector_get_label(IvocVect*);
203 extern void vector_set_label(IvocVect*, char*);
204 
205 extern void hoc_regexp_compile(const char*);
206 extern int hoc_regexp_search(const char*);
207 extern Symbol* hoc_install_var(const char*, double*);
208 extern void hoc_class_registration(void);
209 extern void hoc_spinit(void);
210 extern void hoc_freearay(Symbol*);
211 extern int hoc_arayinfo_install(Symbol*, int);
213 extern void hoc_free_val_array(double*, size_t);
214 extern size_t hoc_total_array(Symbol*);
215 extern void hoc_menu_cleanup(void);
216 extern void frame_debug(void);
217 extern void hoc_oop_initaftererror(void);
218 extern void save_parallel_envp(void);
219 extern void save_parallel_argv(int, const char**);
220 extern void hoc_init(void);
221 extern void initplot(void);
222 extern void hoc_audit_command(const char*);
223 extern void hoc_audit_from_hoc_main1(int, const char**, const char**);
224 extern void hoc_audit_from_final_exit(void);
225 extern void hoc_audit_from_xopen1(const char*, const char*);
226 extern void hoc_xopen_from_audit(const char* fname);
227 extern int hoc_retrieving_audit(void);
228 extern int hoc_retrieve_audit(int id);
229 extern int hoc_saveaudit(void);
230 
231 extern void hoc_close_plot(void);
232 extern void ivoc_cleanup(void);
233 extern void ivoc_final_exit(void);
234 extern int hoc_oc(const char*);
235 extern void hoc_initcode(void);
236 extern int hoc_ParseExec(int);
237 extern int hoc_get_line(void);
238 extern int hoc_araypt(Symbol*, int);
239 extern double hoc_opasgn(int op, double dest, double src);
241 extern void hoc_template_notify(Object*, int);
242 extern void hoc_construct_point(Object*, int);
243 extern void hoc_call_ob_proc(Object* ob, Symbol* sym, int narg);
244 extern void hoc_push_frame(Symbol*, int);
245 extern void hoc_pop_frame(void);
246 extern int hoc_argindex(void);
247 extern void hoc_pop_defer(void);
248 extern void hoc_tobj_unref(Object**);
249 extern int hoc_stacktype(void);
250 extern int hoc_inside_stacktype(int);
251 extern void hoc_link_symbol(Symbol*, Symlist*);
252 extern void hoc_unlink_symbol(Symbol*, Symlist*);
253 extern void notify_freed(void*);
254 extern void notify_freed_val_array(double*, size_t);
255 extern void notify_pointer_freed(void*);
256 extern int ivoc_list_look(Object*, Object*, char*, int);
257 extern void ivoc_free_alias(Object*);
258 extern Symbol* ivoc_alias_lookup(const char*, Object*);
259 extern void hoc_obj_disconnect(Object*);
260 extern void hoc_free_object(Object*);
261 extern void hoc_free_pstring(char**);
262 extern int hoc_returning;
263 extern void hoc_on_init_register(Pfrv);
264 extern int hoc_pid(void);
265 extern int hoc_ired(const char*, int, int, int);
266 extern double hoc_xred(const char*, double, double, double);
267 extern int hoc_sred(const char*, char*, char*);
268 extern int nrnpy_pr(const char* fmt, ...);
269 extern int Fprintf(FILE*, const char* fmt, ...);
270 extern void nrnpy_pass();
272 extern int nrn_is_cable(void);
273 extern int nrn_isdouble(double*, double, double);
274 extern void* nrn_opaque_obj2pyobj(Object*); // PyObject reference not incremented
275 extern Symbol* hoc_get_symbol(const char* var);
276 
277 extern double hoc_Exp(double);
278 extern int hoc_is_tempobj_arg(int narg);
279 extern FILE* hoc_obj_file_arg(int i);
280 extern void hoc_reg_nmodl_text(int type, const char* txt);
281 extern void hoc_reg_nmodl_filename(int type, const char* filename);
282 extern size_t nrn_mallinfo(int item);
283 extern int nrn_mlh_gsort(double* vec, int* base_ptr, int total_elems, int (*cmp)(double, double));
284 extern void state_discontinuity(int i, double* pd, double d);
285 
286 extern double nrn_event_queue_stats(double* stats);
287 extern double* nrn_recalc_ptr(double*);
289 
290 // BlueBrain
291 extern void* bbss_buffer_counts(int*, int**, int**, int*);
292 extern void bbss_save_global(void*, char*, int);
293 extern void bbss_restore_global(void*, char*, int);
294 extern void bbss_save(void*, int, char*, int);
295 extern void bbss_restore(void*, int, int, char*, int);
296 extern void bbss_save_done(void*);
297 extern void bbss_restore_done(void*);
298 
299 #if defined(__cplusplus)
300 }
301 #endif
302 
303 extern int _nrnunit_use_legacy_; /* 1:legacy, 0:modern (default) */
304 extern void bbs_done(void);
305 extern int hoc_main1(int, const char**, const char**);
306 extern char* cxx_char_alloc(size_t size);
307 extern int stoprun;
308 extern int nrn_mpiabort_on_error_;
309 
310 #endif
311 
312 /** @} */ // end of hoc_functions
short index
Definition: cabvars.h:10
short type
Definition: cabvars.h:9
size_t size() const
Definition: ivocvect.h:43
std::vector< double > & vec()
Definition: ivocvect.h:35
char buf[512]
Definition: init.cpp:13
char * hoc_object_pathname(Object *)
Definition: hoc_oop.cpp:1794
int hoc_xopen1(const char *, const char *)
Definition: fileio.cpp:207
int vector_capacity(IvocVect *)
int hoc_is_object_arg(int)
Definition: code.cpp:756
void hoc_push_frame(Symbol *, int)
void hoc_close_plot(void)
Definition: macprt.cpp:124
Object * hoc_name2obj(const char *name, int index)
Definition: hoc_oop.cpp:922
void hoc_plprint(const char *)
void hoc_obj_set(int i, Object *)
Definition: hoc_oop.cpp:65
int stoprun
Definition: fadvance.cpp:166
void hoc_audit_command(const char *)
Definition: audit.cpp:122
void hoc_reg_nmodl_filename(int type, const char *filename)
Definition: init.cpp:169
void hoc_run_stmt(Symbol *)
Definition: code2.cpp:685
void hoc_construct_point(Object *, int)
Definition: hocmech.cpp:52
void bbss_restore_global(void *, char *, int)
int hoc_ired(const char *, int, int, int)
void hoc_xopen_from_audit(const char *fname)
Definition: audit.cpp:254
void hoc_unlink_symbol(Symbol *, Symlist *)
Definition: symbol.cpp:146
void nrn_register_recalc_ptr_callback(Pfrv f)
Definition: treeset.cpp:2195
int hoc_obj_run(const char *, Object *)
Brief explanation of hoc_obj_run.
Definition: hoc_oop.cpp:322
void sym_extra_alloc(Symbol *)
Definition: symbol.cpp:353
int nrn_isdouble(double *, double, double)
Definition: isoc99.cpp:12
void * nrn_opaque_obj2pyobj(Object *)
Definition: hoc_oop.cpp:2068
Object ** hoc_objgetarg(int)
Definition: code.cpp:1587
void hoc_pushstr(char **)
Definition: code.cpp:680
void hoc_execerr_ext(const char *fmt,...)
printf style specification of hoc_execerror message.
Definition: fileio.cpp:931
HocSymExtension * hoc_var_extra(const char *)
Definition: code2.cpp:35
void hoc_last_init(void)
Definition: init.cpp:302
double chkarg(int, double low, double high)
Definition: code2.cpp:638
void hoc_reg_nmodl_text(int type, const char *txt)
Definition: init.cpp:164
void hoc_execerror(const char *, const char *)
Definition: hoc.cpp:754
void bbss_restore(void *, int, int, char *, int)
Object * ivoc_list_item(Object *, int)
Definition: oclist.cpp:414
double hoc_call_func(Symbol *, int narg)
Definition: code.cpp:1462
Symbol * hoc_get_symbol(const char *var)
Definition: code.cpp:1759
void hoc_free_val_array(double *, size_t)
Definition: symbol.cpp:383
int ivoc_list_look(Object *, Object *, char *, int)
Definition: oclist.cpp:503
void hoc_new_object_asgn(Object **obp, Symbol *template_symbol, void *cpp_object)
Definition: hoc_oop.cpp:485
void frame_debug(void)
Definition: code.cpp:1313
int hoc_set_color(int)
void nrn_hoc_unlock(void)
Definition: multicore.cpp:1127
Object * hoc_obj_look_inside_stack(int)
Definition: code.cpp:770
int hoc_returning
Definition: code.cpp:148
size_t hoc_total_array_data(Symbol *, Objectdata *)
Definition: hoc_oop.cpp:94
int hoc_arayinfo_install(Symbol *, int)
Definition: hoc.cpp:601
Object ** hoc_temp_objvar(Symbol *template_symbol, void *cpp_object)
Definition: hoc_oop.cpp:491
void hoc_final_exit()
Definition: hoc.cpp:1131
void vector_resize(IvocVect *, int)
int hoc_argindex(void)
Definition: code.cpp:1639
int vector_instance_px(void *, double **)
Definition: ivocvect.cpp:391
void save_parallel_argv(int, const char **)
Definition: parallel.cpp:207
IvocVect * vector_new2(IvocVect *)
void hoc_template_notify(Object *, int)
Definition: ocobserv.cpp:41
void * hoc_Emalloc(size_t size)
Definition: symbol.cpp:190
double * getarg(int)
Definition: code.cpp:1630
void * hoc_Ecalloc(size_t nmemb, size_t size)
Definition: symbol.cpp:205
void hoc_pushpx(double *)
Definition: code.cpp:716
int hoc_inside_stacktype(int)
Definition: code.cpp:784
int vector_arg_px(int i, double **p)
Definition: ivocvect.cpp:413
Object * hoc_pop_object(void)
Definition: code.cpp:871
void hoc_pushobj(Object **)
Definition: code.cpp:663
int nrn_inpython_
Definition: hoc.cpp:37
int ivoc_list_count(Object *)
Definition: oclist.cpp:408
void hoc_free_string(char *)
Definition: symbol.cpp:395
void hoc_call_ob_proc(Object *ob, Symbol *sym, int narg)
void hoc_spinit(void)
Definition: hocusr.cpp:47
void hoc_spec_table(void **pfunctable, int n)
Definition: functabl.cpp:138
void save_parallel_envp(void)
Definition: parallel.cpp:253
Object * hoc_obj_get(int i)
Definition: hoc_oop.cpp:56
double hoc_xred(const char *, double, double, double)
int hoc_regexp_search(const char *)
Definition: regexp.cpp:297
void hoc_initcode(void)
int hoc_ParseExec(int)
Definition: code.cpp:531
void hoc_freearay(Symbol *)
Definition: hoc.cpp:640
int hoc_obj_look_inside_stack_index(int)
Definition: code.cpp:780
double check_domain_limits(float *, double)
Definition: code2.cpp:114
void ivoc_final_exit(void)
Definition: ivocmain.cpp:863
size_t nrn_mallinfo(int item)
Definition: symbol.cpp:407
void hoc_menu_cleanup(void)
Definition: fmenu.cpp:671
void * hoc_sec_internal_name2ptr(const char *s, int eflag)
Definition: cabcode.cpp:762
void * nrn_cacheline_calloc(void **memptr, size_t nmemb, size_t size)
Definition: symbol.cpp:240
void hoc_plt(int, double, double)
void * nrn_parsing_pysec_
void hoc_pushs(Symbol *)
void vector_set_label(IvocVect *, char *)
void notify_freed_val_array(double *, size_t)
Definition: ivoc.cpp:101
Symbol * hoc_install(const char *, int, double, Symlist **)
double * vector_vec(IvocVect *)
void hoc_free_object(Object *)
Definition: symbol.cpp:388
void * hoc_Erealloc(void *ptr, size_t size)
Definition: symbol.cpp:251
void hoc_class_registration(void)
Definition: classreg.cpp:27
int hoc_is_str_arg(int)
Definition: code.cpp:752
void hoc_audit_from_xopen1(const char *, const char *)
Definition: audit.cpp:130
int hoc_retrieve_audit(int id)
Definition: audit.cpp:227
int hoc_errno_check(void)
Definition: math.cpp:109
void hoc_regexp_compile(const char *)
Definition: regexp.cpp:97
void bbss_restore_done(void *)
FILE * hoc_obj_file_arg(int i)
Definition: ocfile.cpp:56
int hoc_is_temp_charptr(char **cpp)
Definition: code.cpp:647
void hoc_free_pstring(char **)
Definition: symbol.cpp:399
int hoc_saveaudit(void)
Definition: audit.cpp:161
void notify_pointer_freed(void *)
Definition: ivoc.cpp:81
void bbss_save(void *, int, char *, int)
double * nrn_recalc_ptr(double *)
Definition: treeset.cpp:2179
Symbol * hoc_table_lookup(const char *, Symlist *)
Definition: symbol.cpp:61
void hoc_nopop(void)
IvocVect * vector_new(int, Object *)
Definition: ivocvect.cpp:301
Objectdata * hoc_objectdata
Definition: hoc_oop.cpp:123
void nrn_exit(int)
Definition: hoc.cpp:219
void hoc_assign_str(char **pstr, const char *buf)
Definition: code.cpp:2350
size_t hoc_total_array(Symbol *)
Definition: hoc_oop.cpp:82
void hoc_init(void)
Definition: hoc_init.cpp:411
void nrn_hoc_lock(void)
Definition: multicore.cpp:1119
const char * expand_env_var(const char *)
Definition: fileio.cpp:122
double * hoc_val_pointer(const char *)
Definition: code2.cpp:727
Object ** hoc_temp_objptr(Object *)
Definition: code.cpp:216
int hoc_argtype(int)
Definition: code.cpp:738
void hoc_register_var(DoubScal *, DoubVec *, VoidFunc *)
Definition: hocusr.cpp:109
double hoc_opasgn(int op, double dest, double src)
Definition: code.cpp:1668
double hoc_call_objfunc(Symbol *, int narg, Object *)
Definition: hoc_oop.cpp:389
void hoc_tobj_unref(Object **)
Definition: code.cpp:226
void hoc_malchk(void)
Definition: symbol.cpp:183
void install_vector_method(const char *, double(*)(void *))
Definition: ivocvect.cpp:379
Symbol * hoc_parse_expr(const char *, Symlist **)
Definition: code2.cpp:659
int is_obj_type(Object *, const char *)
Definition: hoc_oop.cpp:2059
void hoc_pop_frame(void)
void hoc_ret(void)
Definition: code.cpp:1482
int hoc_sred(const char *, char *, char *)
Definition: xred.cpp:133
int hoc_oc(const char *)
Definition: hoc.cpp:1471
double hoc_run_expr(Symbol *)
Definition: code2.cpp:651
void hoc_warning(const char *, const char *)
char * hoc_symbol_units(Symbol *sym, const char *units)
Definition: code2.cpp:126
int hoc_is_double_arg(int)
Definition: code.cpp:744
void * nrn_cacheline_alloc(void **memptr, size_t size)
Definition: symbol.cpp:223
void hoc_free_list(Symlist **)
int ifarg(int)
Definition: code.cpp:1581
void check_obj_type(Object *, const char *)
Definition: hoc_oop.cpp:2047
void vector_append(IvocVect *, double)
void hoc_obj_disconnect(Object *)
Definition: ocobserv.cpp:9
double hoc_Exp(double)
Definition: math.cpp:44
double nrn_event_queue_stats(double *stats)
Definition: netcvode.cpp:164
int nrnpy_pr(const char *fmt,...)
Definition: fileio.cpp:912
void initplot(void)
Definition: macprt.cpp:188
char * cxx_char_alloc(size_t size)
Definition: ivoc.cpp:118
char ** hoc_temp_charptr(void)
Definition: code.cpp:642
void ivoc_help(const char *)
Definition: ocnoiv1.cpp:16
int hoc_xopen_run(Symbol *, const char *)
Definition: code.cpp:595
void hoc_retpushx(double)
Definition: hocusr.cpp:154
int hoc_chdir(const char *path)
Definition: fileio.cpp:832
Symbol * hoc_install_var(const char *, double *)
Definition: symbol.cpp:138
void hoc_obj_notify(Object *)
Definition: ocobserv.cpp:14
int hoc_retrieving_audit(void)
Definition: audit.cpp:185
IvocVect * vector_arg(int)
Definition: ivocvect.cpp:397
double hoc_ac_
Definition: hoc_init.cpp:397
void hoc_obj_ref(Object *)
Definition: hoc_oop.cpp:1810
char * hoc_object_name(Object *)
Definition: hoc_oop.cpp:72
void * hoc_pysec_name2ptr(const char *s, int eflag)
Definition: cabcode.cpp:803
int hoc_stacktype(void)
Definition: code.cpp:731
void ivoc_free_alias(Object *)
Definition: strfun.cpp:112
void hoc_symbol_limits(Symbol *, float, float)
Definition: code2.cpp:100
IvocVect * vector_new0()
Definition: ivocvect.cpp:304
void hoc_dec_refcount(Object **)
Definition: hoc_oop.cpp:1816
int hoc_main1(int, const char **, const char **)
Definition: hoc.cpp:983
void hoc_on_init_register(Pfrv)
Definition: code.cpp:393
double hoc_func_table(void *functable, int n, double *args)
Definition: functabl.cpp:93
void hoc_install_object_data_index(Symbol *)
Definition: hoc_oop.cpp:304
Object ** vector_temp_objvar(IvocVect *)
double * hoc_pxpop(void)
Definition: code.cpp:838
int is_vector_arg(int)
Definition: ivocvect.cpp:405
void nrnpy_pass()
Definition: fileio.cpp:853
int hoc_ipop(void)
void hoc_fake_call(Symbol *)
Definition: code.cpp:1448
void hoc_stkobj_unref(Object *, int stkindex)
Definition: code.cpp:282
void hoc_audit_from_hoc_main1(int, const char **, const char **)
Definition: audit.cpp:56
void hoc_pushx(double)
void bbss_save_done(void *)
Object ** vector_pobj(IvocVect *)
void hoc_oop_initaftererror(void)
Definition: hoc_oop.cpp:417
int nrn_is_cable(void)
Definition: init.cpp:205
int nrnignore
Definition: hoc.cpp:26
void hoc_audit_from_final_exit(void)
Definition: audit.cpp:138
char * gargstr(int)
Definition: code2.cpp:227
int vector_buffer_size(IvocVect *)
int hoc_araypt(Symbol *, int)
void hoc_execerror_mes(const char *, const char *, int)
Definition: hoc.cpp:702
void * bbss_buffer_counts(int *, int **, int **, int *)
Datum * hoc_look_inside_stack(int, int)
Definition: code.cpp:765
void hoc_sprint1(char **, int)
Definition: fileio.cpp:426
Symbol * hoc_lookup(const char *)
IvocVect * vector_new1(int)
Definition: ivocvect.cpp:307
double hoc_xpop(void)
void state_discontinuity(int i, double *pd, double d)
Definition: init.cpp:867
int hoc_is_pdouble_arg(int)
Definition: code.cpp:748
double * hoc_pgetarg(int)
Definition: code.cpp:1623
void hoc_free_arrayinfo(Arrayinfo *)
void bbss_save_global(void *, char *, int)
int Fprintf(FILE *, const char *fmt,...)
Definition: fileio.cpp:921
void bbs_done(void)
Definition: datapath.cpp:32
void hoc_pop_defer(void)
Definition: code.cpp:257
void vector_delete(IvocVect *)
void hoc_obj_unref(Object *)
Definition: hoc_oop.cpp:1828
int hoc_color
Definition: plot.cpp:110
Symbol * ivoc_alias_lookup(const char *, Object *)
Definition: strfun.cpp:104
void hoc_free_allobjects(cTemplate *, Symlist *, Objectdata *)
Definition: hoc_oop.cpp:1699
void hoc_pushi(int)
void notify_freed(void *)
Definition: ivoc.cpp:93
char * vector_get_label(IvocVect *)
char ** hoc_strpop(void)
Definition: code.cpp:879
double hoc_scan(FILE *)
Definition: fileio.cpp:339
int nrn_mlh_gsort(double *vec, int *base_ptr, int total_elems, int(*cmp)(double, double))
Definition: ivocvect.cpp:4036
Symbol * hoc_parse_stmt(const char *, Symlist **)
Definition: code2.cpp:692
char * hoc_araystr(Symbol *, int, Objectdata *)
Definition: code.cpp:2367
int hoc_pid(void)
Definition: hoc.cpp:877
void ivoc_cleanup(void)
Definition: ocnoiv1.cpp:17
void hoc_push_object(Object *)
Definition: code.cpp:673
int hoc_is_tempobj_arg(int narg)
Definition: code.cpp:761
int _nrnunit_use_legacy_
Definition: hoc_init.cpp:409
void hoc_link_symbol(Symbol *, Symlist *)
Definition: symbol.cpp:170
Symbol * hoc_spop(void)
double hoc_epsilon
Definition: hoc_init.cpp:396
int hoc_get_line(void)
Definition: hoc.cpp:1859
int nrn_mpiabort_on_error_
Definition: hoc.cpp:77
char ** hoc_pgargstr(int)
Definition: code.cpp:1599
Object ** hoc_objpop(void)
Definition: code.cpp:860
void(* Pfrv)(void)
Definition: hocdec.h:40
static int narg()
Definition: ivocvect.cpp:150
double var(InputIterator begin, InputIterator end)
Definition: ivocvect.h:101
#define i
Definition: md1redef.h:12
char * name
Definition: init.cpp:16
void units(unit *)
Definition: units.cpp:733
int const size_t const size_t n
Definition: nrngsl.h:11
size_t p
Definition: hocdec.h:227
Definition: model.h:57
Definition: hocdec.h:84
static double stats(void *v)
Definition: tqueue.cpp:75
Definition: hocdec.h:177
static const char * fname(const char *name)
Definition: nrnbbs.cpp:113