NEURON
HOC Functions

All hoc functions used in the NEURON codebase. More...

Classes

struct  TmpObjectDeleter
 

Typedefs

using TmpObject = std::unique_ptr< Object, TmpObjectDeleter >
 

Functions

Symbolhoc_get_symbol (const char *var)
 
void hoc_register_var (DoubScal *, DoubVec *, VoidFunc *)
 
void ivoc_help (const char *)
 
Symbolhoc_lookup (const char *)
 
void hoc_execerror (const char *, const char *)
 
void hoc_execerr_ext (const char *fmt,...)
 printf style specification of hoc_execerror message. More...
 
char * hoc_object_name (Object *)
 
void hoc_retpushx (double)
 
double * hoc_getarg (int)
 
int ifarg (int)
 
int vector_instance_px (void *, double **)
 
void install_vector_method (const char *, double(*)(void *))
 
int vector_arg_px (int i, double **p)
 
double hoc_Exp (double)
 
double hoc_pow (double, double)
 
int hoc_is_tempobj_arg (int narg)
 
std::FILE * hoc_obj_file_arg (int i)
 
void hoc_reg_nmodl_text (int type, const char *txt)
 
void hoc_reg_nmodl_filename (int type, const char *filename)
 
std::size_t nrn_mallinfo (int item)
 
int nrn_mlh_gsort (double *vec, int *base_ptr, int total_elems, int(*cmp)(double, double))
 
void state_discontinuity (int i, double *pd, double d)
 
IvocVectvector_arg (int)
 
int vector_buffer_size (IvocVect *)
 
int vector_capacity (IvocVect *)
 
IvocVectvector_new (int, Object *=nullptr)
 
IvocVectvector_new0 ()
 
IvocVectvector_new1 (int)
 
IvocVectvector_new2 (IvocVect *)
 
Object ** vector_pobj (IvocVect *)
 
void vector_resize (IvocVect *, int)
 
double * vector_vec (IvocVect *)
 
int vector_buffer_size (void *)
 
int vector_capacity (void *)
 
Object ** vector_pobj (void *)
 
void vector_resize (void *, int)
 
double * vector_vec (void *)
 
int hoc_obj_run (const char *, Object *)
 Brief explanation of hoc_obj_run. More...
 
void hoc_prstack ()
 Print up to the 10 most-recently-pushed elements on the stack. More...
 
int hoc_argtype (int)
 
int hoc_is_double_arg (int)
 
int hoc_is_pdouble_arg (int)
 
int hoc_is_str_arg (int)
 
int hoc_is_object_arg (int)
 
char * hoc_gargstr (int)
 
char ** hoc_pgargstr (int)
 
Object ** hoc_objgetarg (int)
 
Objecthoc_name2obj (const char *name, int index)
 
char ** hoc_temp_charptr ()
 
int hoc_is_temp_charptr (char **cpp)
 
void hoc_assign_str (char **pstr, const char *buf)
 
double chkarg (int, double low, double high)
 
double hoc_call_func (Symbol *, int narg)
 
void hoc_call_func_result_on_stack (Symbol *s, int narg)
 
double hoc_call_objfunc (Symbol *, int narg, Object *)
 
int hoc_set_color (int)
 
void hoc_plt (int, double, double)
 
void hoc_plprint (const char *)
 
void hoc_ret ()
 
void hoc_push (neuron::container::generic_data_handle handle)
 
template<typename T >
void hoc_push (neuron::container::data_handle< T > const &handle)
 
void hoc_pushx (double)
 
void hoc_pushstr (char **)
 
void hoc_pushobj (Object **)
 
void hoc_push_object (Object *)
 
void hoc_pushpx (double *)
 
void hoc_pushs (Symbol *)
 
void hoc_pushi (int)
 
void hoc_push_ndim (int)
 
int hoc_pop_ndim ()
 
int hoc_stack_type ()
 Get the type of the top entry. More...
 
bool hoc_stack_type_is_ndim ()
 
template<typename T >
hoc_pop ()
 Pop an object of type T from the HOC stack. More...
 
template<typename T >
hoc_get_arg (std::size_t narg)
 Get the nth (1..N) argument on the stack. More...
 
double * hoc_pgetarg (int narg)
 
double hoc_xpop ()
 
Symbolhoc_spop ()
 
double * hoc_pxpop ()
 
Object ** hoc_objpop ()
 Pop pointer to object pointer and return top elem from stack. More...
 
TmpObject hoc_pop_object ()
 
char ** hoc_strpop ()
 
int hoc_ipop ()
 
void hoc_nopop ()
 
template<typename T >
neuron::container::data_handle< T > hoc_pop_handle ()
 Shorthand for hoc_pop<data_handle<T>>(). More...
 
template<typename T >
neuron::container::data_handle< T > hoc_hgetarg (int narg)
 Shorthand for hoc_get_arg<data_handle<T>>(narg). More...
 
void hoc_execerror_mes (const char *, const char *, int)
 
void hoc_warning (const char *, const char *)
 
double * hoc_val_pointer (const char *)
 
neuron::container::data_handle< double > hoc_val_handle (std::string_view)
 
Symbolhoc_table_lookup (const char *, Symlist *)
 
Symbolhoc_install (const char *, int, double, Symlist **)
 
template<typename T >
T const & hoc_look_inside_stack (int i)
 Get the stack entry at depth i. More...
 
Objecthoc_obj_look_inside_stack (int)
 
void hoc_stkobj_unref (Object *, int stkindex)
 
size_t hoc_total_array_data (const Symbol *, Objectdata *)
 
char * hoc_araystr (Symbol *, int, Objectdata *)
 
char * hoc_object_pathname (Object *)
 
const char * expand_env_var (const char *)
 
void check_obj_type (Object *, const char *)
 
int is_obj_type (Object *, const char *)
 
void hoc_obj_ref (Object *)
 
void hoc_obj_unref (Object *)
 
void hoc_dec_refcount (Object **)
 
Object ** hoc_temp_objvar (Symbol *template_symbol, void *cpp_object)
 
Object ** hoc_temp_objptr (Object *)
 
Objecthoc_new_object (Symbol *symtemp, void *v)
 
void hoc_new_object_asgn (Object **obp, Symbol *template_symbol, void *cpp_object)
 
Objectnrn_pntproc_nmodlrandom_wrap (void *pnt, Symbol *sym)
 
Objectnrn_nmodlrandom_wrap (Prop *prop, Symbol *sym)
 
HocSymExtensionhoc_var_extra (const char *)
 
double check_domain_limits (float *, double)
 
Objecthoc_obj_get (int i)
 
void hoc_obj_set (int i, Object *)
 
void nrn_hoc_lock ()
 
void nrn_hoc_unlock ()
 
void nrn_exit (int)
 
void hoc_free_list (Symlist **)
 
int hoc_errno_check ()
 
Symbolhoc_parse_stmt (const char *, Symlist **)
 
void hoc_run_stmt (Symbol *)
 
Symbolhoc_parse_expr (const char *, Symlist **)
 
double hoc_run_expr (Symbol *)
 
void hoc_free_string (char *)
 
int hoc_xopen1 (const char *, const char *)
 
int hoc_xopen_run (Symbol *, const char *)
 
void hoc_symbol_limits (Symbol *, float, float)
 
void sym_extra_alloc (Symbol *)
 
int hoc_chdir (const char *path)
 
void hoc_final_exit ()
 
void hoc_sprint1 (char **, int)
 
double hoc_scan (std::FILE *)
 
char * hoc_symbol_units (Symbol *sym, const char *units)
 
void hoc_fake_call (Symbol *)
 
void hoc_last_init ()
 
void hoc_obj_notify (Object *)
 
int ivoc_list_count (Object *)
 
Objectivoc_list_item (Object *, int)
 
double hoc_func_table (void *vpft, int n, double *args)
 
void hoc_spec_table (void **pfunctable, int n)
 
void * hoc_sec_internal_name2ptr (const char *s, int eflag)
 
void * hoc_pysec_name2ptr (const char *s, int eflag)
 
void vector_append (IvocVect *, double)
 
void vector_delete (IvocVect *)
 
Object ** vector_temp_objvar (IvocVect *)
 
int is_vector_arg (int)
 
char * vector_get_label (IvocVect *)
 
void vector_set_label (IvocVect *, char *)
 
Symbolhoc_install_var (const char *, double *)
 
void hoc_class_registration ()
 
void hoc_spinit ()
 
void hoc_freearay (Symbol *)
 
int hoc_arayinfo_install (Symbol *, int)
 
void hoc_free_arrayinfo (Arrayinfo *)
 
void hoc_free_val_array (double *, std::size_t)
 
std::size_t hoc_total_array (Symbol *)
 
void frame_debug ()
 
void hoc_oop_initaftererror ()
 
void hoc_init ()
 
void initplot ()
 
void hoc_audit_command (const char *)
 
void hoc_audit_from_hoc_main1 (int, const char **, const char **)
 
void hoc_audit_from_final_exit ()
 
void hoc_audit_from_xopen1 (const char *, const char *)
 
void hoc_xopen_from_audit (const char *fname)
 
int hoc_retrieving_audit ()
 
int hoc_retrieve_audit (int id)
 
int hoc_saveaudit ()
 
void hoc_close_plot ()
 
void ivoc_cleanup ()
 
void ivoc_final_exit ()
 
int hoc_oc (const char *)
 
int hoc_oc (const char *, std::ostream &os)
 
void hoc_initcode ()
 
int hoc_ParseExec (int)
 
int hoc_get_line ()
 
int hoc_araypt (Symbol *, int)
 
double hoc_opasgn (int op, double dest, double src)
 
void hoc_install_object_data_index (Symbol *)
 
void hoc_template_notify (Object *, int)
 
void hoc_construct_point (Object *, int)
 
void hoc_call_ob_proc (Object *ob, Symbol *sym, int narg)
 
void hoc_push_frame (Symbol *, int)
 
void hoc_pop_frame ()
 
int hoc_argindex ()
 
void hoc_pop_defer ()
 
void hoc_tobj_unref (Object **)
 
int hoc_stacktype ()
 
int hoc_inside_stacktype (int)
 
void hoc_link_symbol (Symbol *, Symlist *)
 
void hoc_unlink_symbol (Symbol *, Symlist *)
 
void notify_freed (void *)
 
void notify_pointer_freed (void *)
 
int ivoc_list_look (Object *, Object *, char *, int)
 
void ivoc_free_alias (Object *)
 
Symbolivoc_alias_lookup (const char *, Object *)
 
void hoc_obj_disconnect (Object *)
 
void hoc_free_object (Object *)
 
void hoc_free_pstring (char **)
 
void hoc_on_init_register (void(*)())
 
int hoc_pid ()
 
int hoc_ired (const char *, int, int, int)
 
double hoc_xred (const char *, double, double, double)
 
int hoc_sred (const char *, char *, char *)
 
void nrnpy_pass ()
 
void hoc_free_allobjects (cTemplate *, Symlist *, Objectdata *)
 
int nrn_is_cable ()
 
void * nrn_opaque_obj2pyobj (Object *)
 
void bbs_done (void)
 
int hoc_main1 (int, const char **, const char **)
 
char * cxx_char_alloc (std::size_t size)
 

Variables

int nrnignore
 
double hoc_ac_
 
double hoc_epsilon
 
int nrn_inpython_
 
int hoc_color
 
Objectdatahoc_objectdata
 
void * nrn_parsing_pysec_
 
int hoc_returning
 
int stoprun
 
int nrn_mpiabort_on_error_
 

Detailed Description

All hoc functions used in the NEURON codebase.

Typedef Documentation

◆ TmpObject

using TmpObject = std::unique_ptr<Object, TmpObjectDeleter>

Definition at line 264 of file oc_ansi.h.

Function Documentation

◆ bbs_done()

void bbs_done ( void  )

Definition at line 76 of file ocbbs.cpp.

◆ check_domain_limits()

double check_domain_limits ( float *  limits,
double  val 
)

Definition at line 116 of file code2.cpp.

◆ check_obj_type()

void check_obj_type ( Object obj,
const char *  type_name 
)

Definition at line 2098 of file hoc_oop.cpp.

◆ chkarg()

double chkarg ( int  arg,
double  low,
double  high 
)

Definition at line 626 of file code2.cpp.

◆ cxx_char_alloc()

char* cxx_char_alloc ( std::size_t  size)

◆ expand_env_var()

const char* expand_env_var ( const char *  s)

Definition at line 113 of file fileio.cpp.

◆ frame_debug()

void frame_debug ( )

Definition at line 1330 of file code.cpp.

◆ hoc_arayinfo_install()

int hoc_arayinfo_install ( Symbol sp,
int  nsub 
)

Definition at line 528 of file hoc.cpp.

◆ hoc_araypt()

int hoc_araypt ( Symbol sp,
int  type 
)

Definition at line 2340 of file code.cpp.

◆ hoc_araystr()

char* hoc_araystr ( Symbol sym,
int  index,
Objectdata obd 
)

Definition at line 2281 of file code.cpp.

◆ hoc_argindex()

int hoc_argindex ( )

Definition at line 1647 of file code.cpp.

◆ hoc_argtype()

int hoc_argtype ( int  narg)

Definition at line 860 of file code.cpp.

◆ hoc_assign_str()

void hoc_assign_str ( char **  pstr,
const char *  buf 
)

Definition at line 2263 of file code.cpp.

◆ hoc_audit_command()

void hoc_audit_command ( const char *  buf)

Definition at line 122 of file audit.cpp.

◆ hoc_audit_from_final_exit()

void hoc_audit_from_final_exit ( )

Definition at line 138 of file audit.cpp.

◆ hoc_audit_from_hoc_main1()

void hoc_audit_from_hoc_main1 ( int  argc,
const char **  argv,
const char **  envp 
)

Definition at line 56 of file audit.cpp.

◆ hoc_audit_from_xopen1()

void hoc_audit_from_xopen1 ( const char *  fname,
const char *  rcs 
)

Definition at line 130 of file audit.cpp.

◆ hoc_call_func()

double hoc_call_func ( Symbol s,
int  narg 
)

Definition at line 1477 of file code.cpp.

◆ hoc_call_func_result_on_stack()

void hoc_call_func_result_on_stack ( Symbol s,
int  narg 
)

Definition at line 1482 of file code.cpp.

◆ hoc_call_ob_proc()

void hoc_call_ob_proc ( Object ob,
Symbol sym,
int  narg 
)

Definition at line 648 of file hoc_oop.cpp.

◆ hoc_call_objfunc()

double hoc_call_objfunc ( Symbol s,
int  narg,
Object ob 
)

Definition at line 384 of file hoc_oop.cpp.

◆ hoc_chdir()

int hoc_chdir ( const char *  path)

Definition at line 800 of file fileio.cpp.

◆ hoc_class_registration()

void hoc_class_registration ( )

Definition at line 31 of file classreg.cpp.

◆ hoc_close_plot()

void hoc_close_plot ( )

Definition at line 177 of file plot.cpp.

◆ hoc_construct_point()

void hoc_construct_point ( Object ob,
int  narg 
)

Definition at line 68 of file hocmech.cpp.

◆ hoc_dec_refcount()

void hoc_dec_refcount ( Object **  pobj)

Definition at line 1850 of file hoc_oop.cpp.

◆ hoc_errno_check()

int hoc_errno_check ( )

Definition at line 257 of file math.cpp.

◆ hoc_execerr_ext()

void hoc_execerr_ext ( const char *  fmt,
  ... 
)

printf style specification of hoc_execerror message.

(512 char limit)

Definition at line 828 of file fileio.cpp.

◆ hoc_execerror()

void hoc_execerror ( const char *  s,
const char *  t 
)

Definition at line 658 of file hoc.cpp.

◆ hoc_execerror_mes()

void hoc_execerror_mes ( const char *  s,
const char *  t,
int  prnt 
)

Definition at line 611 of file hoc.cpp.

◆ hoc_Exp()

double hoc_Exp ( double  x)

Definition at line 175 of file math.cpp.

◆ hoc_fake_call()

void hoc_fake_call ( Symbol s)

Definition at line 1463 of file code.cpp.

◆ hoc_final_exit()

void hoc_final_exit ( )

Definition at line 949 of file hoc.cpp.

◆ hoc_free_allobjects()

void hoc_free_allobjects ( cTemplate ctemplate,
Symlist sl,
Objectdata data 
)

Definition at line 1732 of file hoc_oop.cpp.

◆ hoc_free_arrayinfo()

void hoc_free_arrayinfo ( Arrayinfo a)

Definition at line 579 of file hoc.cpp.

◆ hoc_free_list()

void hoc_free_list ( Symlist **  list)

Definition at line 254 of file symbol.cpp.

◆ hoc_free_object()

void hoc_free_object ( Object p)

Definition at line 283 of file symbol.cpp.

◆ hoc_free_pstring()

void hoc_free_pstring ( char **  p)

Definition at line 294 of file symbol.cpp.

◆ hoc_free_string()

void hoc_free_string ( char *  p)

Definition at line 290 of file symbol.cpp.

◆ hoc_free_val_array()

void hoc_free_val_array ( double *  ,
std::size_t   
)

◆ hoc_freearay()

void hoc_freearay ( Symbol sp)

Definition at line 567 of file hoc.cpp.

◆ hoc_func_table()

double hoc_func_table ( void *  vpft,
int  n,
double *  args 
)

Definition at line 75 of file functabl.cpp.

◆ hoc_gargstr()

char* hoc_gargstr ( int  )

◆ hoc_get_arg()

template<typename T >
T hoc_get_arg ( std::size_t  narg)

Get the nth (1..N) argument on the stack.

This is a templated version of hoc_getarg, hoc_pgetarg and friends.

Todo:
Should the stack be modified such that this can return const references, even for things like data_handle<T> that at the moment are not exactly stored (we store generic_data_handle, which can produce a data_handle<T> on demand but which does not, at present, actually contain a data_handle<T>)?

Definition at line 217 of file oc_ansi.h.

◆ hoc_get_line()

int hoc_get_line ( )

Definition at line 1613 of file hoc.cpp.

◆ hoc_get_symbol()

Symbol* hoc_get_symbol ( const char *  var)

Definition at line 1768 of file code.cpp.

◆ hoc_getarg()

double* hoc_getarg ( int  narg)

Definition at line 1641 of file code.cpp.

◆ hoc_hgetarg()

template<typename T >
neuron::container::data_handle<T> hoc_hgetarg ( int  narg)

Shorthand for hoc_get_arg<data_handle<T>>(narg).

Migrating code to be data_handle-aware typically involves replacing hoc_pgetarg with hoc_hgetarg<double>.

Definition at line 284 of file oc_ansi.h.

◆ hoc_init()

void hoc_init ( )

Definition at line 232 of file hoc_init.cpp.

◆ hoc_initcode()

void hoc_initcode ( )

Definition at line 473 of file code.cpp.

◆ hoc_inside_stacktype()

int hoc_inside_stacktype ( int  i)

Definition at line 898 of file code.cpp.

◆ hoc_install()

Symbol* hoc_install ( const char *  s,
int  t,
double  d,
Symlist **  list 
)

Definition at line 77 of file symbol.cpp.

◆ hoc_install_object_data_index()

void hoc_install_object_data_index ( Symbol sp)

Definition at line 297 of file hoc_oop.cpp.

◆ hoc_install_var()

Symbol* hoc_install_var ( const char *  name,
double *  pval 
)

Definition at line 123 of file symbol.cpp.

◆ hoc_ipop()

int hoc_ipop ( )

Definition at line 967 of file code.cpp.

◆ hoc_ired()

int hoc_ired ( const char *  prompt,
int  defalt,
int  min,
int  max 
)

Definition at line 56 of file xred.cpp.

◆ hoc_is_double_arg()

int hoc_is_double_arg ( int  narg)

Definition at line 864 of file code.cpp.

◆ hoc_is_object_arg()

int hoc_is_object_arg ( int  narg)

Definition at line 876 of file code.cpp.

◆ hoc_is_pdouble_arg()

int hoc_is_pdouble_arg ( int  narg)

Definition at line 868 of file code.cpp.

◆ hoc_is_str_arg()

int hoc_is_str_arg ( int  narg)

Definition at line 872 of file code.cpp.

◆ hoc_is_temp_charptr()

int hoc_is_temp_charptr ( char **  cpp)

Definition at line 722 of file code.cpp.

◆ hoc_is_tempobj_arg()

int hoc_is_tempobj_arg ( int  narg)

Definition at line 881 of file code.cpp.

◆ hoc_last_init()

void hoc_last_init ( )

Definition at line 308 of file init.cpp.

◆ hoc_link_symbol()

void hoc_link_symbol ( Symbol sp,
Symlist list 
)

Definition at line 155 of file symbol.cpp.

◆ hoc_look_inside_stack()

template<typename T >
T const& hoc_look_inside_stack ( int  i)

Get the stack entry at depth i.

i=0 is the most recently pushed entry. This will raise an error if the stack is empty, or if the given entry does not have type T.

Definition at line 261 of file code.cpp.

◆ hoc_lookup()

Symbol* hoc_lookup ( const char *  s)

Definition at line 59 of file symbol.cpp.

◆ hoc_main1()

int hoc_main1 ( int  argc,
const char **  argv,
const char **  envp 
)

Definition at line 867 of file hoc.cpp.

◆ hoc_name2obj()

Object* hoc_name2obj ( const char *  name,
int  index 
)

Definition at line 859 of file hoc_oop.cpp.

◆ hoc_new_object()

Object* hoc_new_object ( Symbol symtemp,
void *  v 
)

Definition at line 450 of file hoc_oop.cpp.

◆ hoc_new_object_asgn()

void hoc_new_object_asgn ( Object **  obp,
Symbol template_symbol,
void *  cpp_object 
)

Definition at line 478 of file hoc_oop.cpp.

◆ hoc_nopop()

void hoc_nopop ( )

Definition at line 972 of file code.cpp.

◆ hoc_obj_disconnect()

void hoc_obj_disconnect ( Object ob)

Definition at line 5 of file ocobserv.cpp.

◆ hoc_obj_file_arg()

std::FILE* hoc_obj_file_arg ( int  i)

Definition at line 47 of file ocfile.cpp.

◆ hoc_obj_get()

Object* hoc_obj_get ( int  i)

Definition at line 57 of file hoc_oop.cpp.

◆ hoc_obj_look_inside_stack()

Object* hoc_obj_look_inside_stack ( int  i)

Definition at line 885 of file code.cpp.

◆ hoc_obj_notify()

void hoc_obj_notify ( Object ob)

Definition at line 10 of file ocobserv.cpp.

◆ hoc_obj_ref()

void hoc_obj_ref ( Object obj)

Definition at line 1844 of file hoc_oop.cpp.

◆ hoc_obj_run()

int hoc_obj_run ( const char *  cmd,
Object ob 
)

Brief explanation of hoc_obj_run.

Detailed explanation of hoc_obj_run goes here.

Definition at line 315 of file hoc_oop.cpp.

◆ hoc_obj_set()

void hoc_obj_set ( int  i,
Object obj 
)

Definition at line 66 of file hoc_oop.cpp.

◆ hoc_obj_unref()

void hoc_obj_unref ( Object obj)

Definition at line 1881 of file hoc_oop.cpp.

◆ hoc_object_name()

char* hoc_object_name ( Object ob)

Definition at line 73 of file hoc_oop.cpp.

◆ hoc_object_pathname()

char* hoc_object_pathname ( Object ob)

Definition at line 1828 of file hoc_oop.cpp.

◆ hoc_objgetarg()

Object** hoc_objgetarg ( int  narg)

Definition at line 1614 of file code.cpp.

◆ hoc_objpop()

Object** hoc_objpop ( )

Pop pointer to object pointer and return top elem from stack.

When using objpop, after dealing with the pointer, one should call hoc_tobj_unref(pobj) in order to prevent memory leakage since the object may have been reffed when it was pushed on the stack.

Definition at line 943 of file code.cpp.

◆ hoc_oc() [1/2]

int hoc_oc ( const char *  buf)

Definition at line 1314 of file hoc.cpp.

◆ hoc_oc() [2/2]

int hoc_oc ( const char *  buf,
std::ostream &  os 
)

Definition at line 1318 of file hoc.cpp.

◆ hoc_on_init_register()

void hoc_on_init_register ( void(*)()  )

◆ hoc_oop_initaftererror()

void hoc_oop_initaftererror ( )

Definition at line 412 of file hoc_oop.cpp.

◆ hoc_opasgn()

double hoc_opasgn ( int  op,
double  dest,
double  src 
)

Definition at line 1674 of file code.cpp.

◆ hoc_parse_expr()

Symbol* hoc_parse_expr ( const char *  str,
Symlist **  psymlist 
)

Definition at line 646 of file code2.cpp.

◆ hoc_parse_stmt()

Symbol* hoc_parse_stmt ( const char *  str,
Symlist **  psymlist 
)

Definition at line 679 of file code2.cpp.

◆ hoc_ParseExec()

int hoc_ParseExec ( int  yystart)

Definition at line 603 of file code.cpp.

◆ hoc_pgargstr()

char** hoc_pgargstr ( int  narg)

Definition at line 1623 of file code.cpp.

◆ hoc_pgetarg()

double* hoc_pgetarg ( int  narg)
inline

Definition at line 253 of file oc_ansi.h.

◆ hoc_pid()

int hoc_pid ( )

Definition at line 773 of file hoc.cpp.

◆ hoc_plprint()

void hoc_plprint ( const char *  s)

Definition at line 97 of file plot.cpp.

◆ hoc_plt()

void hoc_plt ( int  mode,
double  x,
double  y 
)

Definition at line 188 of file plot.cpp.

◆ hoc_pop()

template<typename T >
T hoc_pop ( )

Pop an object of type T from the HOC stack.

The helper type neuron::oc::detail::hoc_pop must be specialised for all supported (families of) T.

Definition at line 202 of file oc_ansi.h.

◆ hoc_pop_defer()

void hoc_pop_defer ( )

Definition at line 318 of file code.cpp.

◆ hoc_pop_frame()

void hoc_pop_frame ( )

Definition at line 1387 of file code.cpp.

◆ hoc_pop_handle()

template<typename T >
neuron::container::data_handle<T> hoc_pop_handle ( )

Shorthand for hoc_pop<data_handle<T>>().

Definition at line 273 of file oc_ansi.h.

◆ hoc_pop_ndim()

int hoc_pop_ndim ( )

Definition at line 933 of file code.cpp.

◆ hoc_pop_object()

TmpObject hoc_pop_object ( )

Definition at line 957 of file code.cpp.

◆ hoc_pow()

double hoc_pow ( double  x,
double  y 
)

Definition at line 166 of file math.cpp.

◆ hoc_prstack()

void hoc_prstack ( )

Print up to the 10 most-recently-pushed elements on the stack.

Definition at line 437 of file code.cpp.

◆ hoc_push() [1/2]

template<typename T >
void hoc_push ( neuron::container::data_handle< T > const &  handle)

Definition at line 174 of file oc_ansi.h.

◆ hoc_push() [2/2]

void hoc_push ( neuron::container::generic_data_handle  handle)

Definition at line 850 of file code.cpp.

◆ hoc_push_frame()

void hoc_push_frame ( Symbol sp,
int  narg 
)

Definition at line 1376 of file code.cpp.

◆ hoc_push_ndim()

void hoc_push_ndim ( int  d)

Definition at line 855 of file code.cpp.

◆ hoc_push_object()

void hoc_push_object ( Object d)

Definition at line 793 of file code.cpp.

◆ hoc_pushi()

void hoc_pushi ( int  d)

Definition at line 846 of file code.cpp.

◆ hoc_pushobj()

void hoc_pushobj ( Object **  d)

Definition at line 784 of file code.cpp.

◆ hoc_pushpx()

void hoc_pushpx ( double *  d)

Definition at line 834 of file code.cpp.

◆ hoc_pushs()

void hoc_pushs ( Symbol d)

Definition at line 841 of file code.cpp.

◆ hoc_pushstr()

void hoc_pushstr ( char **  d)

Definition at line 800 of file code.cpp.

◆ hoc_pushx()

void hoc_pushx ( double  d)

Definition at line 779 of file code.cpp.

◆ hoc_pxpop()

double* hoc_pxpop ( )

Definition at line 922 of file code.cpp.

◆ hoc_pysec_name2ptr()

void* hoc_pysec_name2ptr ( const char *  s,
int  eflag 
)

Definition at line 806 of file cabcode.cpp.

◆ hoc_reg_nmodl_filename()

void hoc_reg_nmodl_filename ( int  type,
const char *  filename 
)

Definition at line 190 of file init.cpp.

◆ hoc_reg_nmodl_text()

void hoc_reg_nmodl_text ( int  type,
const char *  txt 
)

Definition at line 185 of file init.cpp.

◆ hoc_register_var()

void hoc_register_var ( DoubScal scdoub,
DoubVec vdoub,
VoidFunc fn 
)

Definition at line 109 of file hocusr.cpp.

◆ hoc_ret()

void hoc_ret ( )

Definition at line 1502 of file code.cpp.

◆ hoc_retpushx()

void hoc_retpushx ( double  x)

Definition at line 154 of file hocusr.cpp.

◆ hoc_retrieve_audit()

int hoc_retrieve_audit ( int  id)

Definition at line 224 of file audit.cpp.

◆ hoc_retrieving_audit()

int hoc_retrieving_audit ( )

Definition at line 185 of file audit.cpp.

◆ hoc_run_expr()

double hoc_run_expr ( Symbol sym)

Definition at line 638 of file code2.cpp.

◆ hoc_run_stmt()

void hoc_run_stmt ( Symbol sym)

Definition at line 672 of file code2.cpp.

◆ hoc_saveaudit()

int hoc_saveaudit ( )

Definition at line 161 of file audit.cpp.

◆ hoc_scan()

double hoc_scan ( std::FILE *  )

◆ hoc_sec_internal_name2ptr()

void* hoc_sec_internal_name2ptr ( const char *  s,
int  eflag 
)

Definition at line 764 of file cabcode.cpp.

◆ hoc_set_color()

int hoc_set_color ( int  c)

Definition at line 549 of file plot.cpp.

◆ hoc_spec_table()

void hoc_spec_table ( void **  pfunctable,
int  n 
)

Definition at line 107 of file functabl.cpp.

◆ hoc_spinit()

void hoc_spinit ( )

Definition at line 48 of file hocusr.cpp.

◆ hoc_spop()

Symbol* hoc_spop ( )

Definition at line 928 of file code.cpp.

◆ hoc_sprint1()

void hoc_sprint1 ( char **  ppbuf,
int  argn 
)

Definition at line 367 of file fileio.cpp.

◆ hoc_sred()

int hoc_sred ( const char *  prompt,
char *  defalt,
char *  charlist 
)

Definition at line 133 of file xred.cpp.

◆ hoc_stack_type()

int hoc_stack_type ( )

Get the type of the top entry.

Definition at line 310 of file code.cpp.

◆ hoc_stack_type_is_ndim()

bool hoc_stack_type_is_ndim ( )

Definition at line 314 of file code.cpp.

◆ hoc_stacktype()

int hoc_stacktype ( )

Definition at line 774 of file code.cpp.

◆ hoc_stkobj_unref()

void hoc_stkobj_unref ( Object o,
int  stkindex 
)

Definition at line 337 of file code.cpp.

◆ hoc_strpop()

char** hoc_strpop ( )

Definition at line 962 of file code.cpp.

◆ hoc_symbol_limits()

void hoc_symbol_limits ( Symbol sym,
float  low,
float  high 
)

Definition at line 102 of file code2.cpp.

◆ hoc_symbol_units()

char* hoc_symbol_units ( Symbol sym,
const char *  units 
)

Definition at line 128 of file code2.cpp.

◆ hoc_table_lookup()

Symbol* hoc_table_lookup ( const char *  s,
Symlist tab 
)

Definition at line 48 of file symbol.cpp.

◆ hoc_temp_charptr()

char** hoc_temp_charptr ( )

Definition at line 717 of file code.cpp.

◆ hoc_temp_objptr()

Object** hoc_temp_objptr ( Object obj)

Definition at line 151 of file code.cpp.

◆ hoc_temp_objvar()

Object** hoc_temp_objvar ( Symbol template_symbol,
void *  cpp_object 
)

Definition at line 484 of file hoc_oop.cpp.

◆ hoc_template_notify()

void hoc_template_notify ( Object ob,
int  message 
)

Definition at line 52 of file ocobserv.cpp.

◆ hoc_tobj_unref()

void hoc_tobj_unref ( Object **  p)

Definition at line 160 of file code.cpp.

◆ hoc_total_array()

std::size_t hoc_total_array ( Symbol s)

Definition at line 83 of file hoc_oop.cpp.

◆ hoc_total_array_data()

size_t hoc_total_array_data ( const Symbol s,
Objectdata obd 
)

Definition at line 95 of file hoc_oop.cpp.

◆ hoc_unlink_symbol()

void hoc_unlink_symbol ( Symbol s,
Symlist list 
)

Definition at line 131 of file symbol.cpp.

◆ hoc_val_handle()

neuron::container::data_handle<double> hoc_val_handle ( std::string_view  s)

Definition at line 715 of file code2.cpp.

◆ hoc_val_pointer()

double* hoc_val_pointer ( const char *  s)

Definition at line 728 of file code2.cpp.

◆ hoc_var_extra()

HocSymExtension* hoc_var_extra ( const char *  name)

Definition at line 38 of file code2.cpp.

◆ hoc_warning()

void hoc_warning ( const char *  s,
const char *  t 
)

Definition at line 1355 of file hoc.cpp.

◆ hoc_xopen1()

int hoc_xopen1 ( const char *  name,
const char *  rcs 
)

Definition at line 166 of file fileio.cpp.

◆ hoc_xopen_from_audit()

void hoc_xopen_from_audit ( const char *  fname)

Definition at line 248 of file audit.cpp.

◆ hoc_xopen_run()

int hoc_xopen_run ( Symbol sp,
const char *  str 
)

Definition at line 667 of file code.cpp.

◆ hoc_xpop()

double hoc_xpop ( )

Definition at line 903 of file code.cpp.

◆ hoc_xred()

double hoc_xred ( const char *  prompt,
double  defalt,
double  min,
double  max 
)

Definition at line 65 of file xred.cpp.

◆ ifarg()

int ifarg ( int  narg)

Definition at line 1607 of file code.cpp.

◆ initplot()

void initplot ( )

MINGW32

Definition at line 132 of file plot.cpp.

◆ install_vector_method()

void install_vector_method ( const char *  name,
double(*)(void *)  f 
)

Definition at line 361 of file ivocvect.cpp.

◆ is_obj_type()

int is_obj_type ( Object obj,
const char *  type_name 
)

Definition at line 2110 of file hoc_oop.cpp.

◆ is_vector_arg()

int is_vector_arg ( int  i)

Definition at line 378 of file ivocvect.cpp.

◆ ivoc_alias_lookup()

Symbol* ivoc_alias_lookup ( const char *  name,
Object ob 
)

Definition at line 144 of file strfun.cpp.

◆ ivoc_cleanup()

void ivoc_cleanup ( )

Definition at line 15 of file ocnoiv1.cpp.

◆ ivoc_final_exit()

void ivoc_final_exit ( )

Definition at line 740 of file ivocmain.cpp.

◆ ivoc_free_alias()

void ivoc_free_alias ( Object ob)

Definition at line 153 of file strfun.cpp.

◆ ivoc_help()

void ivoc_help ( const char *  )

Definition at line 14 of file ocnoiv1.cpp.

◆ ivoc_list_count()

int ivoc_list_count ( Object olist)

Definition at line 396 of file oclist.cpp.

◆ ivoc_list_item()

Object* ivoc_list_item ( Object olist,
int  i 
)

Definition at line 402 of file oclist.cpp.

◆ ivoc_list_look()

int ivoc_list_look ( Object ob,
Object oblook,
char *  path,
int   
)

Definition at line 462 of file oclist.cpp.

◆ notify_freed()

void notify_freed ( void *  p)

Definition at line 144 of file ivoc.cpp.

◆ notify_pointer_freed()

void notify_pointer_freed ( void *  pt)

Definition at line 132 of file ivoc.cpp.

◆ nrn_exit()

void nrn_exit ( int  i)

Definition at line 183 of file hoc.cpp.

◆ nrn_hoc_lock()

void nrn_hoc_lock ( )

Definition at line 819 of file multicore.cpp.

◆ nrn_hoc_unlock()

void nrn_hoc_unlock ( )

Definition at line 827 of file multicore.cpp.

◆ nrn_is_cable()

int nrn_is_cable ( )

Definition at line 226 of file init.cpp.

◆ nrn_mallinfo()

std::size_t nrn_mallinfo ( int  item)

Definition at line 302 of file symbol.cpp.

◆ nrn_mlh_gsort()

int nrn_mlh_gsort ( double *  vec,
int *  base_ptr,
int  total_elems,
int(*)(double, double)  cmp 
)

Definition at line 3877 of file ivocvect.cpp.

◆ nrn_nmodlrandom_wrap()

Object* nrn_nmodlrandom_wrap ( Prop prop,
Symbol sym 
)

Definition at line 126 of file nmodlrandom.cpp.

◆ nrn_opaque_obj2pyobj()

void* nrn_opaque_obj2pyobj ( Object ho)

Definition at line 2119 of file hoc_oop.cpp.

◆ nrn_pntproc_nmodlrandom_wrap()

Object* nrn_pntproc_nmodlrandom_wrap ( void *  pnt,
Symbol sym 
)

Definition at line 111 of file nmodlrandom.cpp.

◆ nrnpy_pass()

void nrnpy_pass ( )

Definition at line 819 of file fileio.cpp.

◆ state_discontinuity()

void state_discontinuity ( int  i,
double *  pd,
double  d 
)

Definition at line 1085 of file init.cpp.

◆ sym_extra_alloc()

void sym_extra_alloc ( Symbol sym)

Definition at line 248 of file symbol.cpp.

◆ vector_append()

void vector_append ( IvocVect v,
double  x 
)

Definition at line 323 of file ivocvect.cpp.

◆ vector_arg()

IvocVect* vector_arg ( int  i)

Definition at line 265 of file ivocvect.cpp.

◆ vector_arg_px()

int vector_arg_px ( int  i,
double **  p 
)

Definition at line 396 of file ivocvect.cpp.

◆ vector_buffer_size() [1/2]

int vector_buffer_size ( IvocVect v)

Definition at line 272 of file ivocvect.cpp.

◆ vector_buffer_size() [2/2]

int vector_buffer_size ( void *  v)

Definition at line 275 of file ivocvect.cpp.

◆ vector_capacity() [1/2]

int vector_capacity ( IvocVect v)

Definition at line 278 of file ivocvect.cpp.

◆ vector_capacity() [2/2]

int vector_capacity ( void *  v)

Definition at line 281 of file ivocvect.cpp.

◆ vector_delete()

void vector_delete ( IvocVect v)

Definition at line 262 of file ivocvect.cpp.

◆ vector_get_label()

char* vector_get_label ( IvocVect v)

Definition at line 317 of file ivocvect.cpp.

◆ vector_instance_px()

int vector_instance_px ( void *  v,
double **  px 
)

Definition at line 372 of file ivocvect.cpp.

◆ vector_new()

IvocVect* vector_new ( int  n,
Object o = nullptr 
)

Definition at line 284 of file ivocvect.cpp.

◆ vector_new0()

IvocVect* vector_new0 ( )

Definition at line 287 of file ivocvect.cpp.

◆ vector_new1()

IvocVect* vector_new1 ( int  n)

Definition at line 290 of file ivocvect.cpp.

◆ vector_new2()

IvocVect* vector_new2 ( IvocVect v)

Definition at line 293 of file ivocvect.cpp.

◆ vector_pobj() [1/2]

Object** vector_pobj ( IvocVect v)

Definition at line 296 of file ivocvect.cpp.

◆ vector_pobj() [2/2]

Object** vector_pobj ( void *  v)

Definition at line 299 of file ivocvect.cpp.

◆ vector_resize() [1/2]

void vector_resize ( IvocVect v,
int  n 
)

Definition at line 302 of file ivocvect.cpp.

◆ vector_resize() [2/2]

void vector_resize ( void *  v,
int  n 
)

Definition at line 305 of file ivocvect.cpp.

◆ vector_set_label()

void vector_set_label ( IvocVect v,
char *  s 
)

Definition at line 320 of file ivocvect.cpp.

◆ vector_temp_objvar()

Object** vector_temp_objvar ( IvocVect v)

Definition at line 314 of file ivocvect.cpp.

◆ vector_vec() [1/2]

double* vector_vec ( IvocVect v)

Definition at line 308 of file ivocvect.cpp.

◆ vector_vec() [2/2]

double* vector_vec ( void *  v)

Definition at line 311 of file ivocvect.cpp.

Variable Documentation

◆ hoc_ac_

double hoc_ac_
extern

Definition at line 222 of file hoc_init.cpp.

◆ hoc_color

int hoc_color
extern

Definition at line 85 of file plot.cpp.

◆ hoc_epsilon

double hoc_epsilon
extern

Definition at line 221 of file hoc_init.cpp.

◆ hoc_objectdata

Objectdata* hoc_objectdata
extern

Definition at line 122 of file hoc_oop.cpp.

◆ hoc_returning

int hoc_returning
extern

Definition at line 81 of file code.cpp.

◆ nrn_inpython_

int nrn_inpython_
extern

Definition at line 52 of file hoc.cpp.

◆ nrn_mpiabort_on_error_

int nrn_mpiabort_on_error_
extern

Definition at line 80 of file hoc.cpp.

◆ nrn_parsing_pysec_

void* nrn_parsing_pysec_
extern

◆ nrnignore

int nrnignore
extern

Definition at line 42 of file hoc.cpp.

◆ stoprun

int stoprun
extern

Definition at line 146 of file fadvance.cpp.