NEURON
nocpout.cpp File Reference
#include <../../nmodlconf.h>
#include "modl.h"
#include "parse1.hpp"
#include <stdlib.h>
#include <unistd.h>

Go to the source code of this file.

Macros

#define GLOBFUNCT   1
 
#define GETWD(buf)   getcwd(buf, NRN_BUFSIZE)
 
#define NRNEXTRN   01 /* t, dt, celsius, etc. */
 
#define NRNCURIN   02 /* input value used */
 
#define NRNCUROUT   04 /* added to output value */
 
#define NRNRANGE   010
 
#define NRNPRANGEIN   020
 
#define NRNPRANGEOUT   040
 
#define NRNGLOBAL   0100 /* same for all sections, defined here */
 
#define NRNSTATIC   0200 /* v */
 
#define NRNNOTP   0400 /* doesn't belong in p array */
 
#define NRNIONFLAG
 
#define NRNSECTION   02000
 
#define NRNPOINTER   04000
 
#define IONCONC   010000
 
#define NRNBBCOREPOINTER   020000
 
#define IONEREV   0 /* Parameter */
 
#define IONIN   1
 
#define IONOUT   2
 
#define IONCUR   3 /* assigned */
 
#define IONDCUR   4
 
#define SYMITER(arg)
 
#define SYMLISTITER
 
#define IFTYPE(arg)
 
#define NRNFIX(arg)   if (strcmp(n, arg) == 0) e=1;
 

Functions

char * reprime ()
 
int check_tables_threads (List *)
 
Listset_ion_variables (int)
 
Listget_ion_variables (int)
 
int decode_limits (Symbol *sym, double *pg1, double *pg2)
 
int decode_tolerance (Symbol *sym, double *pg1)
 
void defs_h (Symbol *)
 
int iontype (char *s1, char *s2)
 
void nrndeclare ()
 
void del_range (List *)
 
void declare_p ()
 
int iondef (int *)
 
void ion_promote (Item *)
 
static void ppvar_semantics (int, const char *)
 
void nrninit ()
 
void parout ()
 
void warn_ignore (Symbol *s)
 
void ldifusreg ()
 
void decode_ustr (Symbol *sym, double *pg1, double *pg2, char *s)
 
void units_reg ()
 
static void var_count (Symbol *s)
 
void nrn_list (Item *q1, Item *q2)
 
void bablk (int ba, int type, Item *q1, Item *q2)
 
int ion_declared (Symbol *s)
 
void nrn_use (Item *q1, Item *q2, Item *q3, Item *q4)
 
static Symbolifnew_install (char *name)
 
Listbegin_dion_stmt ()
 
Listend_dion_stmt (char *strdel)
 
void nrn_var_assigned (Symbol *s)
 
void net_receive (Item *qarg, Item *qp1, Item *qp2, Item *qstmt, Item *qend)
 
void net_init (Item *qinit, Item *qp2)
 
void fornetcon (Item *keyword, Item *par1, Item *args, Item *par2, Item *stmt, Item *qend)
 
void chk_thread_safe ()
 
void threadsafe_seen (Item *q1, Item *q2)
 
void conductance_hint (int blocktype, Item *q1, Item *q2)
 
void possible_local_current (int blocktype, List *symlist)
 
Symbolbreakpoint_current (Symbol *s)
 

Variables

char * nmodl_version_ = "7.7.0"
 
int assert_threadsafe
 
int brkpnt_exists
 
static char * brkpnt_str_
 
Symbolindepsym
 
Symbolscop_indep
 
Listindeplist
 
Symbolstepsym
 
Listsymlist []
 
Listldifuslist
 
char * finname
 
Listsyminorder
 
Listplotlist
 
Listdefs_list
 
int electrode_current = 0
 
int thread_data_index = 0
 
Listthread_cleanup_list
 
Listthread_mem_init_list
 
Listtoplocal_
 
int protect_
 
int protect_include_
 
int netrec_need_v
 
Listcurrents
 
Listuseion
 
Listconductance_
 
Listbreakpoint_local_current_
 
static Listrangeparm
 
static Listrangedep
 
static Listrangestate
 
static Listnrnpointers
 
static Listuip
 
static char suffix [256]
 
static char * rsuffix
 
static char * mechname
 
int point_process
 
int artificial_cell
 
static int diamdec = 0
 
static int areadec = 0
 
static int use_bbcorepointer = 0
 
static int ppvar_cnt
 
static Listppvar_semantics_
 
static int for_netcons_
 
static Itemnet_init_q1_
 
static Itemnet_init_q2_
 
static int ba_index_
 
static Listba_list_
 
static int varcount
 
static int parraycount
 

Macro Definition Documentation

◆ GETWD

#define GETWD (   buf)    getcwd(buf, NRN_BUFSIZE)

Definition at line 70 of file nocpout.cpp.

◆ GLOBFUNCT

#define GLOBFUNCT   1

Definition at line 64 of file nocpout.cpp.

◆ IFTYPE

#define IFTYPE (   arg)
Value:
if ((s->subtype & arg)\
&& ( (s->usage & EXPLICIT_DECL) != automatic) )
_CONST char * s
Definition: system.cpp:74
#define EXPLICIT_DECL
Definition: model.h:137
#define arg
Definition: redef.h:28

Definition at line 200 of file nocpout.cpp.

◆ IONCONC

#define IONCONC   010000

Definition at line 101 of file nocpout.cpp.

◆ IONCUR

#define IONCUR   3 /* assigned */

Definition at line 107 of file nocpout.cpp.

◆ IONDCUR

#define IONDCUR   4

Definition at line 108 of file nocpout.cpp.

◆ IONEREV

#define IONEREV   0 /* Parameter */

Definition at line 104 of file nocpout.cpp.

◆ IONIN

#define IONIN   1

Definition at line 105 of file nocpout.cpp.

◆ IONOUT

#define IONOUT   2

Definition at line 106 of file nocpout.cpp.

◆ NRNBBCOREPOINTER

#define NRNBBCOREPOINTER   020000

Definition at line 102 of file nocpout.cpp.

◆ NRNCURIN

#define NRNCURIN   02 /* input value used */

Definition at line 89 of file nocpout.cpp.

◆ NRNCUROUT

#define NRNCUROUT   04 /* added to output value */

Definition at line 90 of file nocpout.cpp.

◆ NRNEXTRN

#define NRNEXTRN   01 /* t, dt, celsius, etc. */

Definition at line 88 of file nocpout.cpp.

◆ NRNFIX

#define NRNFIX (   arg)    if (strcmp(n, arg) == 0) e=1;

Definition at line 2216 of file nocpout.cpp.

◆ NRNGLOBAL

#define NRNGLOBAL   0100 /* same for all sections, defined here */

Definition at line 94 of file nocpout.cpp.

◆ NRNIONFLAG

#define NRNIONFLAG
Value:
01000 /* temporary flag to allow READ and WRITE
without declaring twice */

Definition at line 97 of file nocpout.cpp.

◆ NRNNOTP

#define NRNNOTP   0400 /* doesn't belong in p array */

Definition at line 96 of file nocpout.cpp.

◆ NRNPOINTER

#define NRNPOINTER   04000

Definition at line 100 of file nocpout.cpp.

◆ NRNPRANGEIN

#define NRNPRANGEIN   020

Definition at line 92 of file nocpout.cpp.

◆ NRNPRANGEOUT

#define NRNPRANGEOUT   040

Definition at line 93 of file nocpout.cpp.

◆ NRNRANGE

#define NRNRANGE   010

Definition at line 91 of file nocpout.cpp.

◆ NRNSECTION

#define NRNSECTION   02000

Definition at line 99 of file nocpout.cpp.

◆ NRNSTATIC

#define NRNSTATIC   0200 /* v */

Definition at line 95 of file nocpout.cpp.

◆ SYMITER

#define SYMITER (   arg)
Value:
s = SYM(q); if (s->type == arg)
List * syminorder
Definition: nocpout.cpp:122
#define ITERATE(itm, lst)
Definition: model.h:25
#define SYM(q)
Definition: model.h:86
_CONST char * s
Definition: system.cpp:74
#define arg
Definition: redef.h:28
size_t q

Definition at line 194 of file nocpout.cpp.

◆ SYMLISTITER

#define SYMLISTITER
Value:
for (i = 'A'; i <= 'z'; i++)\
#define ITERATE(itm, lst)
Definition: model.h:25
List * symlist[]
Definition: symbol.cpp:8
#define i
Definition: md1redef.h:12
size_t q

Definition at line 197 of file nocpout.cpp.

Function Documentation

◆ bablk()

void bablk ( int  ba,
int  type,
Item q1,
Item q2 
)

Definition at line 1630 of file nocpout.cpp.

◆ begin_dion_stmt()

List* begin_dion_stmt ( )

Definition at line 2123 of file nocpout.cpp.

◆ breakpoint_current()

Symbol* breakpoint_current ( Symbol s)

Definition at line 2770 of file nocpout.cpp.

◆ check_tables_threads()

int check_tables_threads ( List )

Definition at line 555 of file parsact.cpp.

◆ chk_thread_safe()

void chk_thread_safe ( )

Definition at line 2708 of file nocpout.cpp.

◆ conductance_hint()

void conductance_hint ( int  blocktype,
Item q1,
Item q2 
)

Definition at line 2732 of file nocpout.cpp.

◆ declare_p()

void declare_p ( )

Definition at line 1846 of file nocpout.cpp.

◆ decode_limits()

int decode_limits ( Symbol sym,
double *  pg1,
double *  pg2 
)

Definition at line 1382 of file nocpout.cpp.

◆ decode_tolerance()

int decode_tolerance ( Symbol sym,
double *  pg1 
)

Definition at line 1407 of file nocpout.cpp.

◆ decode_ustr()

void decode_ustr ( Symbol sym,
double *  pg1,
double *  pg2,
char *  s 
)

Definition at line 1431 of file nocpout.cpp.

◆ defs_h()

void defs_h ( Symbol s)

Definition at line 1542 of file nocpout.cpp.

◆ del_range()

void del_range ( List range)

Definition at line 1831 of file nocpout.cpp.

◆ end_dion_stmt()

List* end_dion_stmt ( char *  strdel)

Definition at line 2149 of file nocpout.cpp.

◆ fornetcon()

void fornetcon ( Item keyword,
Item par1,
Item args,
Item par2,
Item stmt,
Item qend 
)

Definition at line 2677 of file nocpout.cpp.

◆ get_ion_variables()

List * get_ion_variables ( int  block)

Definition at line 1949 of file nocpout.cpp.

◆ ifnew_install()

static Symbol* ifnew_install ( char *  name)
static

Definition at line 1753 of file nocpout.cpp.

◆ ion_declared()

int ion_declared ( Symbol s)

Definition at line 1656 of file nocpout.cpp.

◆ ion_promote()

void ion_promote ( Item qion)

Definition at line 2178 of file nocpout.cpp.

◆ iondef()

int iondef ( int p_pointercount)

Definition at line 1990 of file nocpout.cpp.

◆ iontype()

int iontype ( char *  s1,
char *  s2 
)

Definition at line 1730 of file nocpout.cpp.

◆ ldifusreg()

void ldifusreg ( )

Definition at line 1302 of file nocpout.cpp.

◆ net_init()

void net_init ( Item qinit,
Item qp2 
)

Definition at line 2659 of file nocpout.cpp.

◆ net_receive()

void net_receive ( Item qarg,
Item qp1,
Item qp2,
Item qstmt,
Item qend 
)

Definition at line 2553 of file nocpout.cpp.

◆ nrn_list()

void nrn_list ( Item q1,
Item q2 
)

Definition at line 1557 of file nocpout.cpp.

◆ nrn_use()

void nrn_use ( Item q1,
Item q2,
Item q3,
Item q4 
)

Definition at line 1668 of file nocpout.cpp.

◆ nrn_var_assigned()

void nrn_var_assigned ( Symbol s)

Definition at line 2218 of file nocpout.cpp.

◆ nrndeclare()

void nrndeclare ( )

Definition at line 1764 of file nocpout.cpp.

◆ nrninit()

void nrninit ( )

Definition at line 209 of file nocpout.cpp.

◆ parout()

void parout ( )

Definition at line 225 of file nocpout.cpp.

◆ possible_local_current()

void possible_local_current ( int  blocktype,
List symlist 
)

Definition at line 2753 of file nocpout.cpp.

◆ ppvar_semantics()

void ppvar_semantics ( int  i,
const char *  name 
)
static

Definition at line 2116 of file nocpout.cpp.

◆ reprime()

char* reprime ( )

◆ set_ion_variables()

List * set_ion_variables ( int  block)

Definition at line 1883 of file nocpout.cpp.

◆ threadsafe_seen()

void threadsafe_seen ( Item q1,
Item q2 
)

Definition at line 2722 of file nocpout.cpp.

◆ units_reg()

void units_reg ( )

Definition at line 1478 of file nocpout.cpp.

◆ var_count()

static void var_count ( Symbol s)
static

Definition at line 1530 of file nocpout.cpp.

◆ warn_ignore()

void warn_ignore ( Symbol s)

Definition at line 1288 of file nocpout.cpp.

Variable Documentation

◆ areadec

int areadec = 0
static

Definition at line 155 of file nocpout.cpp.

◆ artificial_cell

int artificial_cell

Definition at line 153 of file nocpout.cpp.

◆ assert_threadsafe

int assert_threadsafe

◆ ba_index_

int ba_index_
static

Definition at line 171 of file nocpout.cpp.

◆ ba_list_

List* ba_list_
static

Definition at line 172 of file nocpout.cpp.

◆ breakpoint_local_current_

List* breakpoint_local_current_

Definition at line 143 of file nocpout.cpp.

◆ brkpnt_exists

int brkpnt_exists

◆ brkpnt_str_

char* brkpnt_str_
static

Definition at line 112 of file nocpout.cpp.

◆ conductance_

List* conductance_

Definition at line 142 of file nocpout.cpp.

◆ currents

List* currents

Definition at line 140 of file nocpout.cpp.

◆ defs_list

List* defs_list

Definition at line 124 of file nocpout.cpp.

◆ diamdec

int diamdec = 0
static

Definition at line 154 of file nocpout.cpp.

◆ electrode_current

int electrode_current = 0

Definition at line 125 of file nocpout.cpp.

◆ for_netcons_

int for_netcons_
static

Definition at line 168 of file nocpout.cpp.

◆ indeplist

List* indeplist

Definition at line 15 of file parsact.cpp.

◆ indepsym

Symbol* indepsym

Definition at line 11 of file declare.cpp.

◆ ldifuslist

List* ldifuslist

Definition at line 82 of file kinetic.cpp.

◆ mechname

char* mechname
static

Definition at line 151 of file nocpout.cpp.

◆ net_init_q1_

Item* net_init_q1_
static

Definition at line 169 of file nocpout.cpp.

◆ net_init_q2_

Item* net_init_q2_
static

Definition at line 170 of file nocpout.cpp.

◆ netrec_need_v

int netrec_need_v

Definition at line 67 of file netrec_discon.cpp.

◆ nmodl_version_

char* nmodl_version_ = "7.7.0"

Definition at line 11 of file nocpout.cpp.

◆ nrnpointers

List* nrnpointers
static

Definition at line 147 of file nocpout.cpp.

◆ parraycount

int parraycount
static

Definition at line 207 of file nocpout.cpp.

◆ point_process

int point_process

Definition at line 152 of file nocpout.cpp.

◆ ppvar_cnt

int ppvar_cnt
static

Definition at line 165 of file nocpout.cpp.

◆ ppvar_semantics_

List* ppvar_semantics_
static

Definition at line 166 of file nocpout.cpp.

◆ protect_

int protect_

Definition at line 27 of file parsact.cpp.

◆ protect_include_

int protect_include_

Definition at line 28 of file parsact.cpp.

◆ rangedep

List* rangedep
static

Definition at line 145 of file nocpout.cpp.

◆ rangeparm

List* rangeparm
static

Definition at line 144 of file nocpout.cpp.

◆ rangestate

List* rangestate
static

Definition at line 146 of file nocpout.cpp.

◆ rsuffix

char* rsuffix
static

Definition at line 150 of file nocpout.cpp.

◆ scop_indep

Symbol* scop_indep

Definition at line 12 of file declare.cpp.

◆ stepsym

Symbol* stepsym

Definition at line 14 of file parsact.cpp.

◆ suffix

char suffix[256]
static

Definition at line 149 of file nocpout.cpp.

◆ syminorder

List* syminorder

Definition at line 122 of file nocpout.cpp.

◆ symlist

List* symlist[]

Definition at line 8 of file symbol.cpp.

◆ thread_cleanup_list

List* thread_cleanup_list

Definition at line 127 of file nocpout.cpp.

◆ thread_data_index

int thread_data_index = 0

Definition at line 126 of file nocpout.cpp.

◆ thread_mem_init_list

List* thread_mem_init_list

Definition at line 128 of file nocpout.cpp.

◆ toplocal_

List* toplocal_

Definition at line 129 of file nocpout.cpp.

◆ uip

List* uip
static

Definition at line 148 of file nocpout.cpp.

◆ use_bbcorepointer

int use_bbcorepointer = 0
static

Definition at line 156 of file nocpout.cpp.

◆ useion

List* useion

Definition at line 141 of file nocpout.cpp.

◆ varcount

int varcount
static

Definition at line 207 of file nocpout.cpp.