cabcode.c File Reference

#include <../../nrnconf.h>
#include <stdio.h>
#include <math.h>
#include <nrnpython_config.h>
#include "section.h"
#include "membfunc.h"
#include "parse.h"
Include dependency graph for cabcode.c:
This graph shows which files directly or indirectly include this file:

Defines

#define HOC_L_LIST   1
#define symlist   hoc_symlist
#define NSECSTACK   200
#define CAB_SIZE   10
#define PI   3.14159265358979323846
#define relative(pc)   (pc + (pc)->i)

Functions

Object ** hoc_objgetarg ()
Symbolhoc_table_lookup ()
void sec_free ()
void section_order ()
Propprop_alloc ()
char * secname ()
Sectionnrn_sec_pop ()
Nodenode_ptr ()
double * nrn_vext_pd ()
double * dprop ()
double * nrnpy_dprop ()
double chkarg ()
double nrn_section_orientation ()
double nrn_connection_position ()
Propnrn_mechanism ()
Propnrn_mechanism_check ()
Object * nrn_sec2cell (Section *)
int nrn_sec2cell_equals (Section *, Object *)
char * hoc_object_name ()
double hoc_opasgn ()
 nrn_isecstack ()
 nrn_secstack (int i)
 nrn_initcode ()
 oc_save_cabcode (int *a1, int *a2)
 oc_restore_cabcode (int *a1, int *a2)
 nrn_pushsec (Section *sec)
 nrn_popsec ()
 sec_access_pop ()
 add_section ()
 new_sections (Object *ob, Symbol *sym, Item **pitm, int size)
 delete_section ()
double section_length (Section *sec)
int arc0at0 (Section *sec)
double nrn_ra (Section *sec)
 cab_alloc (Prop *p)
 morph_alloc (Prop *p)
double nrn_diameter (Node *nd)
 nrn_chk_section (Symbol *s)
Sectionchk_access ()
 if (!sec)
 if (sec->prop)
else execerror ("Accessing a deleted section",(char *) 0)
Sectionnrn_noerr_access ()
char * secname (Section *sec)
int section_owner ()
char * hoc_section_pathname (Section *sec)
double nrn_arc_position (Section *sec, Node *node)
char * sec_and_position (Section *sec, Node *nd)
int segment_limits (double *pdx)
Nodenode_exact (Section *sec, double x)
Nodenode_ptr (Section *sec, double x, double *parea)
int nrn_get_mechtype (char *mechname)
double * dprop (Symbol *s, int indx, Section *sec, short inode)
double * nrnpy_dprop (Symbol *s, int indx, Section *sec, short inode, int *err)
 forall_section ()
 hoc_ifsec ()
 issection ()
 ismembrane ()
char * secaccessname ()
 sectionname ()
 hoc_secname ()
 this_section ()
 this_node ()
 parent_section ()
 parent_connection ()
 section_orientation ()
 parent_node ()
 pop_section ()
 hoc_level_pushsec (Section *sec)
 push_section ()
 ret (1.0)
 section_exists ()

Variables

Object * hoc_thisobject
Objectdata * hoc_top_level_data
Symlisthoc_top_level_symlist
int hoc_execerror_messages
Symlistsymlist
int tree_changed = 1
int diam_changed = 1
int nrn_shape_changed_
int v_structure_change = 1
char *(* nrnpy_pysec_name_p_ )(Section *)
Object *(* nrnpy_pysec_cell_p_ )(Section *)
int(* nrnpy_pysec_cell_equals_p_ )(Section *, Object *)
int state_discon_allowed_
 section_object_seen
sec
int type
Symbols
double * pd
int op
Nodend
 inode
int indx
Nodenode
double d
interr
double x
int n

Define Documentation

#define CAB_SIZE   10

Referenced by cab_alloc().

#define HOC_L_LIST   1
#define NSECSTACK   200

Referenced by nrn_pushsec().

#define PI   3.14159265358979323846
#define relative ( pc   )     (pc + (pc)->i)
#define symlist   hoc_symlist

Function Documentation

add_section (  ) 
int arc0at0 ( Section sec  ) 

Referenced by nrn_arc_position().

cab_alloc ( Prop p  ) 

References CAB_SIZE, CABLESECTION, DEF_L, DEF_Ra, DEF_rallbranch, nrn_prop_datum_alloc(), pd, and Datum::val.

Referenced by hoc_last_init().

Here is the call graph for this function:

Section* chk_access (  ) 
double chkarg (  ) 
delete_section (  ) 
double* dprop ( Symbol s,
int  indx,
Section sec,
short  inode 
)

References Prop::dparam, hoc_execerror(), nrn_mechanism_check(), NRNPOINTER, Prop::ob, Prop::param, Section::pnode, and Prop::type.

Here is the call graph for this function:

double* dprop (  ) 
else execerror ( "Accessing a deleted section"  ,
(char *)  0 
)
forall_section (  ) 
hoc_ifsec (  ) 

References buf, chk_access(), hoc_execute(), hoc_regexp_compile(), hoc_regexp_search(), hoc_returning, hoc_strpop(), pc, relative, and secname().

Referenced by debugzz(), and hoc_ifseclist().

Here is the call graph for this function:

hoc_level_pushsec ( Section sec  ) 

References nrn_pushsec().

Referenced by get_loc_point_process().

Here is the call graph for this function:

char* hoc_object_name (  ) 
Object** hoc_objgetarg (  ) 
double hoc_opasgn (  ) 
hoc_secname (  ) 

References buf, chk_access(), hoc_pushstr(), hoc_ret(), and secname().

Here is the call graph for this function:

char* hoc_section_pathname ( Section sec  ) 

References hoc_araystr(), hoc_object_pathname(), hoc_objectdata, hoc_warning(), Symbol::name, name, secname(), Sprintf, Symbol::sym, and Symbol::u.

Here is the call graph for this function:

Symbol* hoc_table_lookup (  ) 
if ( sec->  prop  ) 
if ( sec  ) 
ismembrane (  ) 

References chk_access(), gargstr(), memb_func, Symbol::name, Prop::next, ret, Memb_func::sym, and Prop::type.

Here is the call graph for this function:

issection (  ) 

References chk_access(), gargstr(), hoc_regexp_compile(), hoc_regexp_search(), ret, and secname().

Here is the call graph for this function:

morph_alloc ( Prop p  ) 

References DEF_diam, diam_changed, MORPHOLOGY, nrn_prop_data_alloc(), and pd.

Referenced by hoc_last_init().

Here is the call graph for this function:

new_sections ( Object*  ob,
Symbol sym,
Item**  pitm,
int  size 
)

References Prop::dparam, insertsec(), Datum::itm, lappendsec(), Section::prop, and section_list.

Referenced by add_section(), and hoc_newobj1().

Here is the call graph for this function:

Node* node_exact ( Section sec,
double  x 
)
Node* node_ptr ( Section sec,
double  x,
double *  parea 
)

References node_exact(), NODEAREA, nrn_area_ri(), Section::recalc_area_, and Node::sec.

Here is the call graph for this function:

Node* node_ptr (  ) 

Referenced by area(), clamp_prepare(), and ri().

double nrn_arc_position ( Section sec,
Node node 
)
nrn_chk_section ( Symbol s  ) 

References execerror.

double nrn_connection_position (  ) 

Referenced by dashes(), and parent_connection().

double nrn_diameter ( Node nd  ) 

References MORPHOLOGY, nrn_mechanism(), and Prop::param.

Here is the call graph for this function:

int nrn_get_mechtype ( char*  mechname  ) 

References assert, hoc_lookup(), hoc_table_lookup(), Symbol::subtype, Symbol::template, Symbol::type, and Symbol::u.

Here is the call graph for this function:

nrn_initcode (  ) 

References nrn_popsec(), section_object_seen, and state_discon_allowed_.

Referenced by initcode().

Here is the call graph for this function:

nrn_isecstack (  ) 
Prop* nrn_mechanism (  ) 
Prop* nrn_mechanism_check (  ) 

Referenced by dprop().

Section* nrn_noerr_access (  ) 
nrn_popsec (  ) 
nrn_pushsec ( Section sec  ) 
double nrn_ra ( Section sec  ) 

References Prop::dparam, Section::prop, and Datum::val.

Referenced by nrn_area_ri(), and psection().

Object * nrn_sec2cell ( Section sec  ) 
int nrn_sec2cell_equals ( Section sec,
Object *  obj 
)
Section* nrn_sec_pop (  ) 
nrn_secstack ( int  i  ) 

References hoc_warning(), nrn_popsec(), and secname().

Referenced by call(), forall_section(), forall_sectionlist(), forcode(), hoc_iterator_stmt(), and shortfor().

Here is the call graph for this function:

double nrn_section_orientation (  ) 

Referenced by dashes(), and section_orientation().

double* nrn_vext_pd (  ) 
double* nrnpy_dprop ( Symbol s,
int  indx,
Section sec,
short  inode,
int err 
)
double* nrnpy_dprop (  ) 
oc_restore_cabcode ( int a1,
int a2 
)

References nrn_popsec(), and section_object_seen.

Referenced by OcJumpImpl::restore().

Here is the call graph for this function:

oc_save_cabcode ( int a1,
int a2 
)

References section_object_seen.

Referenced by OcJumpImpl::begin().

parent_connection (  ) 

References chk_access(), nrn_connection_position(), and ret.

Here is the call graph for this function:

parent_node (  ) 

References chk_access(), hoc_execerror(), Section::parentnode, and ret.

Here is the call graph for this function:

parent_section (  ) 

References chk_access(), Section::parentsec, and ret.

Here is the call graph for this function:

pop_section (  ) 

References nrn_popsec(), and ret.

Here is the call graph for this function:

Prop* prop_alloc (  ) 
push_section (  ) 

References ForAllSections, gargstr(), hoc_execerror(), hoc_is_str_arg(), Item, and secname().

Here is the call graph for this function:

ret ( 1.  0  ) 
sec_access_pop (  ) 

References nrn_popsec().

Referenced by debugzz().

Here is the call graph for this function:

char* sec_and_position ( Section sec,
Node nd 
)

References assert, buf, nrn_arc_position(), and secname().

Referenced by nrnallpointmenu().

Here is the call graph for this function:

void sec_free (  ) 

Referenced by add_section(), and delete_section().

char* secaccessname (  ) 

References chk_access(), and secname().

Referenced by prexpr().

Here is the call graph for this function:

char* secname ( Section sec  ) 
char* secname (  ) 
section_exists (  ) 
double section_length ( Section sec  ) 

References e, and x.

Referenced by node_dist(), nrn_area_ri(), and psection().

void section_order (  ) 
section_orientation (  ) 

References chk_access(), nrn_section_orientation(), and ret.

Here is the call graph for this function:

int section_owner (  ) 

References chk_access(), hoc_push_object(), hoc_ret(), and nrn_sec2cell().

Here is the call graph for this function:

sectionname (  ) 

References buf, chk_access(), hoc_assign_str(), hoc_pgargstr(), ret, and secname().

Here is the call graph for this function:

int segment_limits ( double *  pdx  ) 

References chk_access(), and Section::nnode.

Here is the call graph for this function:

this_node (  ) 

References chk_access(), getarg(), node_exact(), and ret.

Here is the call graph for this function:

this_section (  ) 

References chk_access(), and ret.

Here is the call graph for this function:


Variable Documentation

double d
int* err

Referenced by hoc_execute1().

Object* hoc_thisobject
Objectdata* hoc_top_level_data

Referenced by register_mech().

short inode
int n
Node* nd

Referenced by nrn_sec2cell_equals(), and nrnpy_nrn().

Referenced by nrn_sec2cell(), and nrnpy_nrn().

Referenced by nrnpy_nrn(), and secname().

double * pd
Symbol * s

Referenced by bgp_dma_receive(), call_ob_proc(), class2oc(), NonLinImpRep::current(), NonLinImpRep::delta(), NonLinImpRep::dids(), NonLinImpRep::dsds(), NonLinImpRep::dsdv(), BBSImpl::execute(), HocCommand::func_call(), MechanismStandard::get(), SingleChan::get_rates(), hoc_edit_quit(), hoc_endtemplate(), hoc_execstr(), hoc_free_allobjects(), hoc_getsym(), hoc_install_var(), hoc_last_init(), hoc_Lw(), hoc_newobj(), hoc_newobj1(), hoc_object_name(), hoc_register_var(), hoc_spinit(), hoc_vsscanf(), init(), ion_charge(), ion_reg(), ion_register(), java2nrn_class(), SymDirectoryImpl::load_aliases(), SymDirectoryImpl::load_object(), BBSLocalServer::look_take(), MechanismStandard::MechanismStandard(), MechanismType::menu(), OcFile::mktemp(), MultiSplitControl::multisplit(), MechanismStandard::name(), ncyg_fprintf(), nernst(), NonLinImpRep::NonLinImpRep(), nonvint(), nrn_finitialize(), nrn_lhs(), nrn_modeltype(), nrn_rhs(), nrn_sec_ref(), nrn_sectionref_steer(), nrn_vecsim_add(), nrn_version(), nrnglobalmechmenu(), NrnHashIterate(), nrniv_sh_observe(), nrniv_sh_push(), nrniv_sh_rotate(), nrnpython_reg_real(), objectpath(), NonLinImpRep::ode(), SingleChanState::rate(), register_mech(), MultiSplitControl::rt_map_update(), SectionRef_reg(), MechanismStandard::set(), SingleChan::set_rates(), setneuronhome(), SaveState::ssi_def(), SingleChan::state_transition(), stralloc(), BBSImpl::subworld_worker_execute(), tstkchk_actual(), BBSLocal::upkpickle(), BBS::upkpickle(), BBSLocal::upkstr(), BBS::upkstr(), and yylex().

double x
Generated on Mon Jun 13 08:10:29 2011 for NEURON by  doxygen 1.6.3