-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsnshead.inc
57 lines (47 loc) · 2.09 KB
/
snshead.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
: $Id: snshead.inc,v 1.22 1998/01/07 20:22:30 billl Exp $
VERBATIM
#define PSTCAST ((SynS *)((unsigned long) lpst))
#define QUECAST ((QueU *)((unsigned long) queu))
#define PRECAST ((PreL *)((unsigned long) link))
#define QPRCAST ((QptR *)((unsigned long) qptr))
#define PREINC 50. /* size increment for growing the presyn array */
#define POSTINC 5. /* size increment for growing the postsyn array */
typedef struct QueU { /* postsynaptic queue */
double time; /* records spike time + delay */
short index; /* records index of associated SynS struct */
} QueU;
/* holds all the info for accessing the queu and its tail */
typedef struct QptR {
struct QueU *qq; /* will point to the queu */
double *nspk; /* will point to newspk */
double *head; /* will point to begsyn */
double *qln; /* points to qlen */
double dead; /* Cdur + Deadtime */
double qterm; /* the last time put on this queue */
int cpost; /* user code for info about postsyn cell */
} QptR;
typedef struct SynS { /* postsynaptic structure */
/* this stuff used presynaptically */
short index; /* index of this item */
double del; /* param: individualized delay set by user */
double spkt; /* state: time when next spike can begin */
struct QptR *qpt; /* indirection to get at the queu */
/* for allowing mult spikes to add up */
short chainlen;
short chainptr;
/* user codes */
int ucode; /* user code for user convenience, an arbitrary index */
/* this stuff used postsynaptically */
double pgm; /* percent of gmax - set by user */
double Rcurr; /* holds current value of R (release status), internal */
double last; /* time last syn will end, internal */
int *pcpre; /* pointer to access the presyn code */
struct SynS **back; /* pointer to presyn pointer to this entry */
} SynS;
/* holds all the info for accessing presyn list */
typedef struct PreL {
int cpre; /* user code for info about presyn cell */
struct SynS **plst; /* will point to post for postsyn nrn*/
double link2; /* a copy of the link information to confirm correct hook up */
} PreL;
ENDVERBATIM