pn2adg.cc: edge_name: allocate enough space for edge name
[ppn.git] / tests / inputs / union_pn_adg.yaml
blob20228496a9b757a40ca99f1703a5a184afb05d1e
1 name: union
2 context: '{  :  }'
3 iterator_map: '{ [c0, c1] -> [c0] }'
4 iterators: [c0]
5 all_iterators: [c0, c1]
6 nodes:
7 - name: ND_0
8   function:
9     name: 
10     in:
11     - {var: {access: '{ ND_0[i0] -> in_0ND_0[] }', type: int}, type: value}
12     out:
13     - {var: {access: '{ ND_0[i0] -> out_1ND_0[] }', type: int}, type: return}
14     domain:
15       bounds: '{ ND_0[i0] : 0 <= i0 <= 99 }'
16   domain:
17     bounds: '{ ND_0[i0] : 0 <= i0 <= 99 }'
18   schedule: '{ ND_0[i0] -> [c0 = i0, c1 = 0] : 0 <= i0 <= 99 }'
19   output_ports:
20   - name: ND_0OP_ED_2_0_V_1
21     node: ND_0
22     edge: ED_2
23     vars:
24     - {access: '{ [ND_0[i0] -> local[i1]] -> out_1ND_0[] }', type: int}
25     domain:
26       bounds: '{ [ND_0[i0] -> local[i1]] : 2i1 = i0 and 0 <= i0 <= 98 }'
27       controls:
28       - {name: e1, expr: '{ ND_0[c0] -> [(floor((c0)/2))] }'}
29   - name: ND_0OP_ED_2_1_V_1
30     node: ND_0
31     edge: ED_2
32     vars:
33     - {access: '{ [ND_0[i0] -> local[i1]] -> out_1ND_0[] }', type: int}
34     domain:
35       bounds: '{ [ND_0[i0] -> local[i1]] : 2i1 = 1 + i0 and 0 < i0 <= 99 }'
36       controls:
37       - {name: e2, expr: '{ ND_0[c0] -> [(floor((1 + c0)/2))] }'}
38   expressions:
39   - {name: in_0ND_0, expr: '{ ND_0[c0] -> [(c0)] }'}
40 - name: ND_1
41   function:
42     name: f
43     in:
44     - {var: {access: '{ ND_1[i0] -> in_0ND_1[] }', type: int}, type: value}
45     - {var: {access: '{ ND_1[i0] -> in_1ND_1[] }', type: int}, type: value}
46     domain:
47       bounds: '{ [ND_1[i0] -> local[i1]] : 2i1 = 1 + i0 and 0 < i0 <= 99 }'
48       controls:
49       - {name: e0, expr: '{ ND_1[c0] -> [(floor((1 + c0)/2))] }'}
50   domain:
51     bounds: '{ [ND_1[i0] -> local[i1]] : 2i1 = 1 + i0 and 0 < i0 <= 99 }'
52     controls:
53     - {name: e0, expr: '{ ND_1[c0] -> [(floor((1 + c0)/2))] }'}
54   schedule: '{ ND_1[i0] -> [c0 = i0, c1 = 1] : 2*floor((1 + i0)/2) = 1 + i0 and 0
55     < i0 <= 99 }'
56   input_ports:
57   - name: ND_1IP_ED_2_0_V_0
58     node: ND_1
59     edge: ED_2
60     vars:
61     - {access: '{ [[ND_1[i0] -> local[i1]] -> local[]] -> in_0ND_1[] }', type: int}
62     domain:
63       bounds: '{ [[ND_1[i0] -> local[i1]] -> local[]] : 2i1 = 1 + i0 and 0 < i0 <=
64         99 }'
65       controls:
66       - {name: e0, expr: '{ ND_1[c0] -> [(floor((1 + c0)/2))] }'}
67   - name: ND_1IP_ED_2_1_V_1
68     node: ND_1
69     edge: ED_2
70     vars:
71     - {access: '{ [[ND_1[i0] -> local[i1]] -> local[]] -> in_1ND_1[] }', type: int}
72     domain:
73       bounds: '{ [[ND_1[i0] -> local[i1]] -> local[]] : 2i1 = 1 + i0 and 0 < i0 <=
74         99 }'
75       controls:
76       - {name: e0, expr: '{ ND_1[c0] -> [(floor((1 + c0)/2))] }'}
77 edges:
78 - name: ED_2
79   type: fifo
80   map: '{ lifted[[ND_1[i0] -> local[i1]] -> local[]] -> ND_0[(-1 + i0)] }'
81   from_node: ND_0
82   from_port: ND_0OP_ED_2_0_V_1
83   to_node: ND_1
84   to_port: ND_1IP_ED_2_0_V_0
85   value_size: 2
86 - name: ED_2
87   type: fifo
88   map: '{ lifted[[ND_1[i0] -> local[i1]] -> local[]] -> ND_0[(i0)] }'
89   from_node: ND_0
90   from_port: ND_0OP_ED_2_1_V_1
91   to_node: ND_1
92   to_port: ND_1IP_ED_2_1_V_1
93   value_size: 2