NEURON
nrn_ansi.h File Reference
#include "hocdec.h"
#include "membfunc.h"
#include "cabcode.h"
#include "neuron/container/data_handle.hpp"
#include "seclist.h"
#include "neuron/container/generic_data_handle.hpp"
#include <memory>

Go to the source code of this file.

Classes

struct  neuron::opaque_model_sorted_token
 

Namespaces

 neuron
 In mechanism libraries, cannot use auto const token = nrn_ensure_model_data_are_sorted(); because the return type is incomplete (from include/neuron/model_data.hpp).
 

Functions

void hoc_register_limits (int, HocParmLimits *)
 
void hoc_register_units (int, HocParmUnits *)
 
void hoc_register_dparam_semantics (int, int, const char *)
 Legacy way of registering pdata semantics. More...
 
void add_nrn_fornetcons (int, int)
 
void hoc_register_tolerance (int, HocStateTolerance *, Symbol ***)
 
void modl_reg (void)
 Needed for compilation. More...
 
void _nrn_free_fornetcon (void **)
 
double nrn_call_mech_func (Symbol *, int narg, Prop *, int type)
 
void _nrn_free_watch (Datum *, int, int)
 Called by Point_process destructor in translated mod file. More...
 
void _nrn_watch_activate (Datum *, double(*)(Point_process *), int, Point_process *, int, double)
 
void _nrn_watch_allocate (Datum *, double(*)(Point_process *), int, Point_process *, double nrflag)
 Introduced so corenrn->nrn can request the mod file to make sure all WatchCondition are allocated. More...
 
void hoc_reg_ba (int, nrn_bamech_t, int)
 
int nrn_pointing (double *p)
 
void nrn_popsec (void)
 
int nrn_isecstack (void)
 
void nrn_secstack (int)
 
void nrn_relocate_old_points (Section *oldsec, Node *oldnode, Section *sec, Node *node)
 
void extcell_2d_alloc (Section *sec)
 
int nrn_is_ion (int)
 
void single_prop_free (Prop *)
 
void prop_free (Prop **)
 
int can_change_morph (Section *)
 
void nrn_area_ri (Section *sec)
 
void nrn_diam_change (Section *)
 
void sec_free (hoc_Item *)
 
void extcell_node_create (Node *)
 
void extnode_free_elements (Extnode *)
 
void section_order (void)
 
neuron::container::data_handle< double > dprop (Symbol *s, int indx, Section *sec, short inode)
 returns location of property symbol More...
 
void nrn_random_play ()
 
void fixed_play_continuous (NrnThread *)
 
void setup_tree_matrix (neuron::model_sorted_token const &sorted_token, NrnThread &nt)
 
void nrn_solve (NrnThread *)
 
void second_order_cur (NrnThread *)
 
void nrn_update_voltage (neuron::model_sorted_token const &sorted_token, NrnThread &nt)
 
void nrn_fixed_step_lastpart (neuron::model_sorted_token const &sorted_token, NrnThread &nt)
 
void hoc_register_dparam_size (int, int)
 
int nrn_errno_check (int)
 
void long_difus_solve (neuron::model_sorted_token const &, int method, NrnThread &nt)
 
void nrn_fihexec (int)
 
int special_pnt_call (Object *, Symbol *, int)
 
void nrn_mk_prop_pools (int)
 
void SectionRef_reg (void)
 
void hoc_symbol_tolerance (Symbol *, double)
 
void node_destruct (Node **, int)
 
void nrn_sec_ref (Section **, Section *)
 
void hoc_level_pushsec (Section *)
 turn off section stack fixing (in case of return, continue, break in a section statement) between explicit user level push_section, etc and pop_section More...
 
void nrn_ba (neuron::model_sorted_token const &, NrnThread &, int)
 
void nrn_rhs_ext (NrnThread *)
 
void nrn_setup_ext (NrnThread *)
 
void nrn_cap_jacob (neuron::model_sorted_token const &, NrnThread *, Memb_list *)
 
void nrn_div_capacity (neuron::model_sorted_token const &, NrnThread *, Memb_list *)
 
void nrn_mul_capacity (neuron::model_sorted_token const &, NrnThread *, Memb_list *)
 
void clear_point_process_struct (Prop *p)
 
void ext_con_coef (void)
 
void nrn_multisplit_ptr_update (void)
 
void nrn_use_daspk (int)
 
void nrn_update_ps2nt (void)
 
neuron::model_sorted_token nrn_ensure_model_data_are_sorted ()
 Ensure neuron::container::* data are sorted. More...
 
void activstim_rhs (void)
 
void activclamp_rhs (void)
 
void activclamp_lhs (void)
 
void activsynapse_rhs (void)
 
void activsynapse_lhs (void)
 
void stim_prepare (void)
 
void clamp_prepare (void)
 
void synapse_prepare (void)
 
void nrn_fixed_step (neuron::model_sorted_token const &)
 
void nrn_fixed_step_group (neuron::model_sorted_token const &, int n)
 
void nrn_lhs (neuron::model_sorted_token const &, NrnThread &)
 
void nrn_rhs (neuron::model_sorted_token const &, NrnThread &)
 
void v_setup_vectors (void)
 
void section_ref (Section *)
 
void section_unref (Section *)
 
const char * nrn_sec2pysecname (Section *)
 
double node_dist (Section *, Node *)
 
double topol_distance (Section *, Node *, Section *, Node *, Section **, Node **)
 
void nrn_clear_mark (void)
 
short nrn_increment_mark (Section *)
 
short nrn_value_mark (Section *)
 
int is_point_process (Object *)
 
int nrn_vartype (const Symbol *)
 
void recalc_diam (void)
 
void nrn_fast_imem_alloc ()
 
void nrn_calc_fast_imem (NrnThread *)
 
void nrn_seg_or_x_arg (int iarg, Section **psec, double *px)
 
void nrn_seg_or_x_arg2 (int iarg, Section **psec, double *px)
 
Sectionnrnpy_pysecname2sec (const char *)
 
const char * nrnpy_sec2pysecname (Section *sec)
 
void nrnpy_pysecname2sec_add (Section *sec)
 
void nrnpy_pysecname2sec_remove (Section *sec)
 
void nrn_verify_ion_charge_defined ()
 
void nrn_pt3dclear (Section *, int)
 
void nrn_length_change (Section *, double)
 
void stor_pt3d (Section *, double x, double y, double z, double d)
 
char * nrn_version (int)
 
std::size_t nrn_num_config_keys ()
 Get the number of NEURON configuration items. More...
 
char * nrn_get_config_key (std::size_t i)
 Get the ith NEURON configuration key. More...
 
char * nrn_get_config_val (std::size_t i)
 Get the ith NEURON configuration value. More...
 
neuron::opaque_model_sorted_token nrn_ensure_model_data_are_sorted_opaque ()
 

Variables

int state_discon_allowed_
 
int section_object_seen
 
bool nrn_use_fast_imem
 
int nrn_netrec_state_adjust
 
int nrn_sparse_partrans
 

Function Documentation

◆ _nrn_free_fornetcon()

void _nrn_free_fornetcon ( void **  v)

Definition at line 4110 of file netcvode.cpp.

◆ _nrn_free_watch()

void _nrn_free_watch ( Datum d,
int  offset,
int  n 
)

Called by Point_process destructor in translated mod file.

Definition at line 2469 of file netcvode.cpp.

◆ _nrn_watch_activate()

void _nrn_watch_activate ( Datum d,
double(*)(Point_process *)  c,
int  i,
Point_process pnt,
int  r,
double  flag 
)

Definition at line 2340 of file netcvode.cpp.

◆ _nrn_watch_allocate()

void _nrn_watch_allocate ( Datum d,
double(*)(Point_process *)  c,
int  i,
Point_process pnt,
double  flag 
)

Introduced so corenrn->nrn can request the mod file to make sure all WatchCondition are allocated.

When that is the case then corenrn can call nrn_watch_activate with all args filled out because the allocated WatchCondition has double (*c)(Point_process) and flag_ filled in.

Definition at line 2430 of file netcvode.cpp.

◆ activclamp_lhs()

void activclamp_lhs ( void  )

Definition at line 190 of file clamp.cpp.

◆ activclamp_rhs()

void activclamp_rhs ( void  )

Definition at line 172 of file clamp.cpp.

◆ activstim_rhs()

void activstim_rhs ( void  )

Definition at line 162 of file fstim.cpp.

◆ activsynapse_lhs()

void activsynapse_lhs ( void  )

Definition at line 215 of file synapse.cpp.

◆ activsynapse_rhs()

void activsynapse_rhs ( void  )

Definition at line 206 of file synapse.cpp.

◆ add_nrn_fornetcons()

void add_nrn_fornetcons ( int  type,
int  indx 
)

Definition at line 205 of file init.cpp.

◆ can_change_morph()

int can_change_morph ( Section sec)

Definition at line 1228 of file treeset.cpp.

◆ clamp_prepare()

void clamp_prepare ( void  )

Definition at line 154 of file clamp.cpp.

◆ clear_point_process_struct()

void clear_point_process_struct ( Prop p)

Definition at line 347 of file point.cpp.

◆ dprop()

neuron::container::data_handle<double> dprop ( Symbol s,
int  indx,
Section sec,
short  inode 
)

returns location of property symbol

Definition at line 1922 of file cabcode.cpp.

◆ ext_con_coef()

void ext_con_coef ( void  )

Definition at line 483 of file extcelln.cpp.

◆ extcell_2d_alloc()

void extcell_2d_alloc ( Section sec)

Definition at line 328 of file extcelln.cpp.

◆ extcell_node_create()

void extcell_node_create ( Node nd)

Definition at line 302 of file extcelln.cpp.

◆ extnode_free_elements()

void extnode_free_elements ( Extnode nde)

Definition at line 211 of file extcelln.cpp.

◆ fixed_play_continuous()

void fixed_play_continuous ( NrnThread nt)

Definition at line 82 of file cvodestb.cpp.

◆ hoc_level_pushsec()

void hoc_level_pushsec ( Section sec)

turn off section stack fixing (in case of return, continue, break in a section statement) between explicit user level push_section, etc and pop_section

Definition at line 2187 of file cabcode.cpp.

◆ hoc_reg_ba()

void hoc_reg_ba ( int  mt,
nrn_bamech_t  f,
int  type 
)

Definition at line 1126 of file init.cpp.

◆ hoc_register_dparam_semantics()

void hoc_register_dparam_semantics ( int  mechtype,
int  ix,
const char *  name 
)

Legacy way of registering pdata semantics.

Superseded by neuron::mechanism::register_data_fields.

Definition at line 980 of file init.cpp.

◆ hoc_register_dparam_size()

void hoc_register_dparam_size ( int  ,
int   
)

◆ hoc_register_limits()

void hoc_register_limits ( int  mechtype,
HocParmLimits limits 
)

Definition at line 1092 of file init.cpp.

◆ hoc_register_tolerance()

void hoc_register_tolerance ( int  mechtype,
HocStateTolerance tol,
Symbol ***  stol 
)

Definition at line 1175 of file init.cpp.

◆ hoc_register_units()

void hoc_register_units ( int  mechtype,
HocParmUnits units 
)

Definition at line 1109 of file init.cpp.

◆ hoc_symbol_tolerance()

void hoc_symbol_tolerance ( Symbol sym,
double  tol 
)

Definition at line 111 of file code2.cpp.

◆ is_point_process()

int is_point_process ( Object ob)

Definition at line 370 of file point.cpp.

◆ long_difus_solve()

void long_difus_solve ( neuron::model_sorted_token const &  sorted_token,
int  method,
NrnThread nt 
)

Definition at line 86 of file ldifus.cpp.

◆ modl_reg()

void modl_reg ( void  )

Needed for compilation.

Definition at line 414 of file inithoc.cpp.

◆ node_destruct()

void node_destruct ( Node **  pnode,
int  n 
)

Definition at line 569 of file solve.cpp.

◆ node_dist()

double node_dist ( Section sec,
Node node 
)

Definition at line 153 of file solve.cpp.

◆ nrn_area_ri()

void nrn_area_ri ( Section sec)

Definition at line 752 of file treeset.cpp.

◆ nrn_ba()

void nrn_ba ( neuron::model_sorted_token const &  cache_token,
NrnThread nt,
int  bat 
)

Definition at line 989 of file fadvance.cpp.

◆ nrn_calc_fast_imem()

void nrn_calc_fast_imem ( NrnThread _nt)

Definition at line 610 of file fadvance.cpp.

◆ nrn_call_mech_func()

double nrn_call_mech_func ( Symbol s,
int  narg,
Prop p,
int  type 
)

Definition at line 1259 of file init.cpp.

◆ nrn_cap_jacob()

void nrn_cap_jacob ( neuron::model_sorted_token const &  sorted_token,
NrnThread _nt,
Memb_list ml 
)

Definition at line 39 of file capac.cpp.

◆ nrn_clear_mark()

void nrn_clear_mark ( void  )

Definition at line 426 of file solve.cpp.

◆ nrn_diam_change()

void nrn_diam_change ( Section sec)

Definition at line 1185 of file treeset.cpp.

◆ nrn_div_capacity()

void nrn_div_capacity ( neuron::model_sorted_token const &  sorted_token,
NrnThread _nt,
Memb_list ml 
)

Definition at line 91 of file capac.cpp.

◆ nrn_ensure_model_data_are_sorted()

neuron::model_sorted_token nrn_ensure_model_data_are_sorted ( )

Ensure neuron::container::* data are sorted.

Set all of the containers to be in read-only mode, until the returned token is destroyed. This method can be called from multi-threaded regions.

Definition at line 2182 of file treeset.cpp.

◆ nrn_ensure_model_data_are_sorted_opaque()

neuron::opaque_model_sorted_token nrn_ensure_model_data_are_sorted_opaque ( )

Definition at line 1069 of file fadvance.cpp.

◆ nrn_errno_check()

int nrn_errno_check ( int  i)

Definition at line 767 of file fadvance.cpp.

◆ nrn_fast_imem_alloc()

void nrn_fast_imem_alloc ( )

Definition at line 377 of file multicore.cpp.

◆ nrn_fihexec()

void nrn_fihexec ( int  type)

Definition at line 33 of file finithnd.cpp.

◆ nrn_fixed_step()

void nrn_fixed_step ( neuron::model_sorted_token const &  cache_token)

Definition at line 324 of file fadvance.cpp.

◆ nrn_fixed_step_group()

void nrn_fixed_step_group ( neuron::model_sorted_token const &  cache_token,
int  n 
)

Definition at line 379 of file fadvance.cpp.

◆ nrn_fixed_step_lastpart()

void nrn_fixed_step_lastpart ( neuron::model_sorted_token const &  sorted_token,
NrnThread nt 
)

Definition at line 502 of file fadvance.cpp.

◆ nrn_get_config_key()

char* nrn_get_config_key ( std::size_t  i)

Get the ith NEURON configuration key.

Parameters
iKey index, must be less than nrn_num_config_keys().

Definition at line 89 of file nrnversion.cpp.

◆ nrn_get_config_val()

char* nrn_get_config_val ( std::size_t  i)

Get the ith NEURON configuration value.

Parameters
iKey index, must be less than nrn_num_config_keys().

Definition at line 94 of file nrnversion.cpp.

◆ nrn_increment_mark()

short nrn_increment_mark ( Section sec)

Definition at line 431 of file solve.cpp.

◆ nrn_is_ion()

int nrn_is_ion ( int  type)

Definition at line 50 of file eion.cpp.

◆ nrn_isecstack()

int nrn_isecstack ( void  )

Definition at line 85 of file cabcode.cpp.

◆ nrn_length_change()

void nrn_length_change ( Section sec,
double  d 
)

Definition at line 1205 of file treeset.cpp.

◆ nrn_lhs()

void nrn_lhs ( neuron::model_sorted_token const &  sorted_token,
NrnThread nt 
)

Definition at line 488 of file treeset.cpp.

◆ nrn_mk_prop_pools()

void nrn_mk_prop_pools ( int  n)

Definition at line 27 of file cxprop.cpp.

◆ nrn_mul_capacity()

void nrn_mul_capacity ( neuron::model_sorted_token const &  sorted_token,
NrnThread _nt,
Memb_list ml 
)

Definition at line 78 of file capac.cpp.

◆ nrn_multisplit_ptr_update()

void nrn_multisplit_ptr_update ( void  )

Definition at line 1624 of file multisplit.cpp.

◆ nrn_num_config_keys()

std::size_t nrn_num_config_keys ( )

Get the number of NEURON configuration items.

Definition at line 85 of file nrnversion.cpp.

◆ nrn_pointing()

int nrn_pointing ( double *  p)
inline

Definition at line 49 of file nrn_ansi.h.

◆ nrn_popsec()

void nrn_popsec ( void  )

Definition at line 154 of file cabcode.cpp.

◆ nrn_pt3dclear()

void nrn_pt3dclear ( Section sec,
int  req 
)

Definition at line 1087 of file treeset.cpp.

◆ nrn_random_play()

void nrn_random_play ( )

Definition at line 10 of file extdef.h.

◆ nrn_relocate_old_points()

void nrn_relocate_old_points ( Section oldsec,
Node oldnode,
Section sec,
Node node 
)

Definition at line 153 of file point.cpp.

◆ nrn_rhs()

void nrn_rhs ( neuron::model_sorted_token const &  cache_token,
NrnThread nt 
)

Definition at line 375 of file treeset.cpp.

◆ nrn_rhs_ext()

void nrn_rhs_ext ( NrnThread _nt)

Definition at line 340 of file extcelln.cpp.

◆ nrn_sec2pysecname()

const char* nrn_sec2pysecname ( Section sec)

Definition at line 1703 of file cabcode.cpp.

◆ nrn_sec_ref()

void nrn_sec_ref ( Section **  psec,
Section sec 
)

Definition at line 525 of file solve.cpp.

◆ nrn_secstack()

void nrn_secstack ( int  i)

Definition at line 89 of file cabcode.cpp.

◆ nrn_seg_or_x_arg()

void nrn_seg_or_x_arg ( int  iarg,
Section **  psec,
double *  px 
)

Definition at line 170 of file point.cpp.

◆ nrn_seg_or_x_arg2()

void nrn_seg_or_x_arg2 ( int  iarg,
Section **  psec,
double *  px 
)

Definition at line 186 of file point.cpp.

◆ nrn_setup_ext()

void nrn_setup_ext ( NrnThread _nt)

Definition at line 417 of file extcelln.cpp.

◆ nrn_solve()

void nrn_solve ( NrnThread _nt)

Definition at line 333 of file solve.cpp.

◆ nrn_update_ps2nt()

void nrn_update_ps2nt ( void  )

Definition at line 4871 of file netcvode.cpp.

◆ nrn_update_voltage()

void nrn_update_voltage ( neuron::model_sorted_token const &  sorted_token,
NrnThread nt 
)

Definition at line 572 of file fadvance.cpp.

◆ nrn_use_daspk()

void nrn_use_daspk ( int  b)

Definition at line 282 of file netcvode.cpp.

◆ nrn_value_mark()

short nrn_value_mark ( Section sec)

Definition at line 434 of file solve.cpp.

◆ nrn_vartype()

int nrn_vartype ( const Symbol sym)

Definition at line 503 of file eion.cpp.

◆ nrn_verify_ion_charge_defined()

void nrn_verify_ion_charge_defined ( )

Definition at line 263 of file eion.cpp.

◆ nrn_version()

char* nrn_version ( int  i)

Definition at line 27 of file nrnversion.cpp.

◆ nrnpy_pysecname2sec()

Section* nrnpy_pysecname2sec ( const char *  name)

Definition at line 42 of file pysecname2sec.cpp.

◆ nrnpy_pysecname2sec_add()

void nrnpy_pysecname2sec_add ( Section sec)

Definition at line 157 of file pysecname2sec.cpp.

◆ nrnpy_pysecname2sec_remove()

void nrnpy_pysecname2sec_remove ( Section sec)

Definition at line 184 of file pysecname2sec.cpp.

◆ nrnpy_sec2pysecname()

const char* nrnpy_sec2pysecname ( Section sec)

◆ prop_free()

void prop_free ( Prop **  pp)

Definition at line 710 of file treeset.cpp.

◆ recalc_diam()

void recalc_diam ( void  )

Definition at line 923 of file treeset.cpp.

◆ sec_free()

void sec_free ( hoc_Item secitem)

Definition at line 467 of file solve.cpp.

◆ second_order_cur()

void second_order_cur ( NrnThread nt)

Definition at line 640 of file eion.cpp.

◆ section_order()

void section_order ( void  )

Definition at line 729 of file solve.cpp.

◆ section_ref()

void section_ref ( Section sec)

Definition at line 520 of file solve.cpp.

◆ section_unref()

void section_unref ( Section sec)

Definition at line 509 of file solve.cpp.

◆ SectionRef_reg()

void SectionRef_reg ( void  )

Definition at line 363 of file secref.cpp.

◆ setup_tree_matrix()

void setup_tree_matrix ( neuron::model_sorted_token const &  sorted_token,
NrnThread nt 
)

Definition at line 599 of file treeset.cpp.

◆ single_prop_free()

void single_prop_free ( Prop p)

Definition at line 718 of file treeset.cpp.

◆ special_pnt_call()

int special_pnt_call ( Object ob,
Symbol sym,
int  narg 
)

Definition at line 107 of file hocmech.cpp.

◆ stim_prepare()

void stim_prepare ( void  )

Definition at line 154 of file fstim.cpp.

◆ stor_pt3d()

void stor_pt3d ( Section sec,
double  x,
double  y,
double  z,
double  d 
)

Definition at line 1332 of file treeset.cpp.

◆ synapse_prepare()

void synapse_prepare ( void  )

Definition at line 198 of file synapse.cpp.

◆ topol_distance()

double topol_distance ( Section sec1,
Node node1,
Section sec2,
Node node2,
Section **  prootsec,
Node **  prootnode 
)

Definition at line 167 of file solve.cpp.

◆ v_setup_vectors()

void v_setup_vectors ( void  )

Definition at line 1596 of file treeset.cpp.

Variable Documentation

◆ nrn_netrec_state_adjust

int nrn_netrec_state_adjust
extern

Definition at line 111 of file init.cpp.

◆ nrn_sparse_partrans

int nrn_sparse_partrans
extern

Definition at line 112 of file init.cpp.

◆ nrn_use_fast_imem

bool nrn_use_fast_imem
extern

Definition at line 147 of file fadvance.cpp.

◆ section_object_seen

int section_object_seen
extern

Definition at line 28 of file hoc_oop.cpp.

◆ state_discon_allowed_

int state_discon_allowed_
extern

Definition at line 108 of file init.cpp.