File: const.hoc

package info (click to toggle)
neuron 8.2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,760 kB
  • sloc: cpp: 149,571; python: 58,465; ansic: 50,329; sh: 3,510; xml: 213; pascal: 51; makefile: 35; sed: 5
file content (68 lines) | stat: -rwxr-xr-x 848 bytes parent folder | download | duplicates (4)
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
67
68
{load_file("nrngui.hoc")}

begintemplate VConstRate

public A, f, inv, Asol, ksol, form, parms, restore, save_data, type
public kstset, parm2vec, vec2parm, chk

proc init() {
	parms(.1)
}

proc kstset() {
	parms(.1)
	$o1.set_f($2, type(), new Vector(1))
	parm2vec($o1.parm($2))
}	

proc chk() {
	if ($o3.x[0] < 0) { $o3.x[0] = 0 }
	if ($1 == 1) if ($2 == 0) if ($o3.x[0] > 1) $o3.x[0] = 1
}

proc parm2vec() {
	$o1.resize(0)
	$o1.append(A)
}

proc vec2parm() {
	A = $o1.x[0]
}

func type() { return 1 }

proc parms() {
	A = $1
}

proc save_data() {
	sprint($s2, "%g", A)
	$o1.save($s2)
}
proc restore() {
	parms(fscan())
}

proc form() {
	if ($2 == 1) {
		sprint($s1, "A%s", $s3)
	}else{
		sprint($s1, "%.4g", A)
	}
}

func f() {
	return A
}

func inv() {
	return 1e6
}

func Asol() { return $2 }

func ksol() {
	return 0
}

endtemplate VConstRate