pn2adg.cc: edge_name: allocate enough space for edge name
[ppn.git] / tests / inputs / disconnected_pn_adg.yaml
blob5aab031671c2adb574619cd664909664ebf3b552
1 name: disconnected
2 context: '[N] -> {  : N <= 21 and N >= 7 }'
3 iterator_map: '{ [c0, c1] -> [c0] }'
4 iterators: [c0]
5 all_iterators: [c0, c1]
6 params:
7 - {name: N, lb: '{ [(7)] }', ub: '{ [(21)] }', val: '{ [(20)] }'}
8 nodes:
9 - name: ND_0
10   function:
11     name: 
12     in:
13     - {var: {access: '[N] -> { ND_0[i0] -> in_0ND_0[] }', type: int}, type: value}
14     out:
15     - {var: {access: '[N] -> { ND_0[i0] -> out_1ND_0[] }', type: int}, type: return}
16     domain:
17       bounds: '[N] -> { ND_0[0] }'
18   domain:
19     bounds: '[N] -> { ND_0[0] }'
20   schedule: '[N] -> { ND_0[0] -> [0, 0] }'
21   expressions:
22   - {name: in_0ND_0, expr: '[N] -> { ND_0[c0] -> [(0)] : c0 = 0 }'}
23 - name: ND_1
24   function:
25     name: F2
26     in:
27     - {var: {access: '[N] -> { ND_1[i0] -> in_0ND_1[] }', type: int}, type: value}
28     domain:
29       bounds: '[N] -> { ND_1[0] }'
30   domain:
31     bounds: '[N] -> { ND_1[0] }'
32   schedule: '[N] -> { ND_1[0] -> [0, 0] }'
33   expressions:
34   - {name: in_0ND_1, expr: '[N] -> { ND_1[c0] -> [(0)] : c0 = 0 }'}
35 - name: ND_2
36   function:
37     name: t
38     in:
39     - {var: {access: '[N] -> { ND_2[i0] -> in_0ND_2[] }', type: int}, type: value}
40     out:
41     - {var: {access: '[N] -> { ND_2[i0] -> out_1ND_2[] }', type: int}, type: return}
42     domain:
43       bounds: '[N] -> { ND_2[i0] : i0 <= -1 + N and i0 >= 0 }'
44   domain:
45     bounds: '[N] -> { ND_2[i0] : i0 <= -1 + N and i0 >= 0 }'
46   schedule: '[N] -> { ND_2[i0] -> [i0, 0] : i0 <= -1 + N and i0 >= 0 }'
47   output_ports:
48   - name: ND_2OP_ED_0_0_V_1
49     node: ND_2
50     edge: ED_0
51     vars:
52     - {access: '[N] -> { ND_2[i0] -> out_1ND_2[] }', type: int}
53     domain:
54       bounds: '[N] -> { ND_2[i0] : i0 <= -1 + N and i0 >= 0 and N <= 21 and N >= 7
55         }'
56   - name: ND_2OP_ED_1_0_V_1
57     node: ND_2
58     edge: ED_1
59     vars:
60     - {access: '[N] -> { ND_2[i0] -> out_1ND_2[] }', type: int}
61     domain:
62       bounds: '[N] -> { ND_2[i0] : i0 <= -1 + N and i0 >= 0 and N <= 21 and N >= 7
63         }'
64   expressions:
65   - {name: in_0ND_2, expr: '[N] -> { ND_2[c0] -> [(c0)] }'}
66 - name: ND_3
67   function:
68     name: F1
69     in:
70     - {var: {access: '[N] -> { [ND_3[i0] -> [i1]] -> in_1ND_3[] }', type: int}, type: value}
71     out:
72     - {var: {access: '[N] -> { [ND_3[i0] -> [i1]] -> out_2ND_3[] }', type: int}, type: return}
73     domain:
74       bounds: '[N] -> { [ND_3[i0] -> [1]] : N >= 7 and N <= 21 and i0 <= -1 + N and
75         i0 >= 0 }'
76       filters:
77       - {access: '[N] -> { [ND_3[i0] -> [i1]] -> in_0ND_3[] }', type: int}
78   domain:
79     bounds: '[N] -> { ND_3[i0] : N >= 7 and N <= 21 and i0 <= -1 + N and i0 >= 0 }'
80   schedule: '[N] -> { ND_3[i0] -> [i0, 1] : N >= 7 and N <= 21 and i0 <= -1 + N and
81     i0 >= 0 }'
82   input_ports:
83   - name: ND_3IP_ED_0_0_V_0
84     node: ND_3
85     edge: ED_0
86     vars:
87     - {access: '[N] -> { [ND_3[i0] -> local[]] -> in_0ND_3[] }', type: int}
88     domain:
89       bounds: '[N] -> { [ND_3[i0] -> local[]] : i0 <= -1 + N and i0 >= 0 and N <=
90         21 and N >= 7 }'
91   output_ports:
92   - name: ND_3OP_ED_2_0_V_2
93     node: ND_3
94     edge: ED_2
95     vars:
96     - {access: '[N] -> { [ND_3[i0] -> [i1]] -> out_2ND_3[] }', type: int}
97     domain:
98       bounds: '[N] -> { [ND_3[i0] -> [1]] : i0 <= -1 + N and i0 >= 0 and N <= 21 and
99         N >= 7 }'
100       filters:
101       - {access: '[N] -> { [ND_3[i0] -> [i1]] -> in_0ND_3[] }', type: int}
102   expressions:
103   - {name: in_1ND_3, expr: '[N] -> { ND_3[c0] -> [(c0)] : N >= 7 and N <= 21 }'}
104 - name: ND_4
105   function:
106     name: F2
107     in:
108     - {var: {access: '[N] -> { [ND_4[i0] -> [i1]] -> in_1ND_4[] }', type: int}, type: value}
109     domain:
110       bounds: '[N] -> { [ND_4[i0] -> [1]] : N >= 7 and N <= 21 and i0 <= -1 + N and
111         i0 >= 0 }'
112       filters:
113       - {access: '[N] -> { [ND_4[i0] -> [i1]] -> in_0ND_4[] }', type: int}
114   domain:
115     bounds: '[N] -> { ND_4[i0] : N >= 7 and N <= 21 and i0 <= -1 + N and i0 >= 0 }'
116   schedule: '[N] -> { ND_4[i0] -> [i0, 2] : N >= 7 and N <= 21 and i0 <= -1 + N and
117     i0 >= 0 }'
118   input_ports:
119   - name: ND_4IP_ED_1_0_V_0
120     node: ND_4
121     edge: ED_1
122     vars:
123     - {access: '[N] -> { [ND_4[i0] -> local[]] -> in_0ND_4[] }', type: int}
124     domain:
125       bounds: '[N] -> { [ND_4[i0] -> local[]] : i0 <= -1 + N and i0 >= 0 and N <=
126         21 and N >= 7 }'
127   - name: ND_4IP_ED_2_0_V_1
128     node: ND_4
129     edge: ED_2
130     vars:
131     - {access: '[N] -> { [[ND_4[i0] -> [i1]] -> local[]] -> in_1ND_4[] }', type: int}
132     domain:
133       bounds: '[N] -> { [[ND_4[i0] -> [1]] -> local[]] : i0 <= -1 + N and i0 >= 0
134         and N <= 21 and N >= 7 }'
135       filters:
136       - {access: '[N] -> { [ND_4[i0] -> [i1]] -> in_0ND_4[] }', type: int}
137 edges:
138 - name: ED_0
139   type: fifo
140   map: '[N] -> { lifted[ND_3[i0] -> local[]] -> ND_2[(i0)] }'
141   from_node: ND_2
142   from_port: ND_2OP_ED_0_0_V_1
143   to_node: ND_3
144   to_port: ND_3IP_ED_0_0_V_0
145   value_size: 1
146 - name: ED_1
147   type: fifo
148   map: '[N] -> { lifted[ND_4[i0] -> local[]] -> ND_2[(i0)] }'
149   from_node: ND_2
150   from_port: ND_2OP_ED_1_0_V_1
151   to_node: ND_4
152   to_port: ND_4IP_ED_1_0_V_0
153   value_size: 1
154 - name: ED_2
155   type: fifo
156   map: '[N] -> { lifted[[ND_4[i0] -> [i1]] -> local[]] -> ND_3[(i0)] }'
157   from_node: ND_3
158   from_port: ND_3OP_ED_2_0_V_2
159   to_node: ND_4
160   to_port: ND_4IP_ED_2_0_V_1
161   value_size: 1