/usr/share/nrn/demo/sync/synchronize.hoc is in neuron 7.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 58 59 60 61 62 63 64 65 66 | {load_file("cell.hoc")}
//Network specification interface
objref cells, nclist, netcon, nil
{cells = new List() nclist = new List()}
func cell_append() {cells.append($o1) $o1.position($2,$3,$4) return cells.count - 1 }
proc cell_append() {cells.append($o1) $o1.position($2,$3,$4) }
func nc_append() {//srcindex, tarcelindex, synindex
if ($3 >= 0) {
cells.object($1).connect2target(cells.object($2).synlist.object($3),netcon)
netcon.weight = $4 netcon.delay = $5
}else{
cells.object($1).connect2target(cells.object($2).pp,netcon)
netcon.weight = $4 netcon.delay = $5
}
nclist.append(netcon)
return nclist.count - 1
}
proc createnet() {local i, j
ncell = $1
netcon = nil
nclist.remove_all()
cells.remove_all()
for i=0, $1-1 {
cell_append(new Cell(), i, 0, 0)
}
for i=0, $1-1 for j=0, $1-1 if (i != j) {
nc_append(i, j, -1, 0, 1)
}
}
proc weight() {local i
w = $1
for i=0, nclist.count-1 {
nclist.object(i).weight = $1
}
}
proc delay() {local i
del = $1
for i=0, nclist.count-1 {
nclist.object(i).delay = $1
}
}
proc tau() {local i
ta = $1
for i=0, cells.count-1 {
cells.object(i).pp.tau = $1
}
}
proc interval() {local i, x, dx // args are low and high
low = $1
high = $2
x = low
dx = (high - low)/cells.count
for i=0, cells.count-1 {
cells.object(i).pp.invl = x
x += dx
}
}
|