-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy path_nwsyntax.ado
executable file
·76 lines (65 loc) · 1.63 KB
/
_nwsyntax.ado
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
69
70
71
72
73
74
75
76
*! Date : 10sept2014
*! Version : 1.1.0
*! Author : Thomas Grund, Linköping University
*! Email : contact@nwcommands.org
capture program drop _nwsyntax
program _nwsyntax
syntax [anything],[max(integer 1) min(passthru) nocurrent name(string) id(string)]
if ("$nwtotal" == "" | "$nwtotal" == "0") {
noi di "{err}No network found."
error 6001
}
if "`name'" == "" {
local name = "netname"
}
if "`nodes'" == "" {
local nodes = "nodes"
}
if "`networks'" == "" {
local networks = "networks"
}
if "`directed'" == "" {
local directed = "directed"
}
if "`id'" == "" {
local id = "id"
}
local netname = "`name'"
local netid = "`id'"
if "`anything'" == "" & "`current'" == ""{
nwcurrent
local anything = r(current)
}
capture nwunab _temp : `anything', max(`max') `min'
if _rc != 0 {
if _rc == 111 | _rc == 198 {
di "{err}network {bf:`anything'} not found"
error 6001
}
if _rc == 102 {
di "{err}`anything'"
di "too few networks specified"
error 6002
}
if _rc == 103 {
di "{err}`anything'"
di "too many networks specified"
error 6003
}
}
local networkscnt : word count `_temp'
local lastnet : word `networkscnt' of `_temp'
mata: st_rclear()
nwname `lastnet'
local netid = r(id)
//mata: _diag(nw_mata`netid', 0)
c_local `id' "`r(id)'"
c_local `netname' "`_temp'"
c_local `nodes' "`r(nodes)'"
c_local `name' "`_temp'"
c_local `directed' "`r(directed)'"
c_local `networks' "`networkscnt'"
mata: st_rclear()
end
*! v1.5.0 __ 17 Sep 2015 __ 13:09:53
*! v1.5.1 __ 17 Sep 2015 __ 14:54:23