PetScan::extract_for: explicitly keep track of when iterator is virtual
[pet.git] / tests / data_dependent2.scop
blobf5dc6938496c4cb5992b55931df3173582f045a3
1 context: '{  :  }'
2 arrays:
3 - context: '{  :  }'
4   extent: '{ __pet_test_0[i] : i >= 0 and i <= 9 }'
5   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
6   element_type: int
7 - context: '{  :  }'
8   extent: '{ a[i0] : i0 >= 0 and i0 <= 9 }'
9   element_type: int
10 - context: '{  :  }'
11   extent: '{ N[] }'
12   element_type: int
13 statements:
14 - line: 10
15   domain: '{ S_0[] }'
16   schedule: '{ S_0[] -> [0] }'
17   body:
18     type: binary
19     operation: =
20     arguments:
21     - type: access
22       relation: '{ S_0[] -> N[] }'
23       read: 0
24       write: 1
25     - type: access
26       relation: '{ S_0[] -> [5] }'
27       read: 1
28       write: 0
29 - line: 12
30   domain: '{ S_1[i] : i >= 0 and i <= 9 }'
31   schedule: '{ S_1[i] -> [1, i, 0] }'
32   body:
33     type: binary
34     operation: =
35     arguments:
36     - type: access
37       relation: '{ S_1[i] -> __pet_test_0[i] }'
38       read: 0
39       write: 1
40     - type: binary
41       operation: <=
42       arguments:
43       - type: access
44         relation: '{ S_1[i] -> N[] }'
45         read: 1
46         write: 0
47       - type: access
48         relation: '{ S_1[i] -> [4] }'
49         read: 1
50         write: 0
51 - line: 14
52   domain: '{ [S_2[i, j] -> [1]] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }'
53   schedule: '{ S_2[i, j] -> [1, i, 1, j, 0] }'
54   body:
55     type: binary
56     operation: =
57     arguments:
58     - type: access
59       relation: '{ S_2[i, j] -> a[j] }'
60       read: 0
61       write: 1
62     - type: binary
63       operation: +
64       arguments:
65       - type: binary
66         operation: +
67         arguments:
68         - type: access
69           relation: '{ S_2[i, j] -> [5] }'
70           read: 1
71           write: 0
72         - type: access
73           relation: '{ S_2[i, j] -> [j] }'
74           read: 1
75           write: 0
76       - type: access
77         relation: '{ S_2[i, j] -> N[] }'
78         read: 1
79         write: 0
80   arguments:
81   - type: access
82     relation: '{ S_2[i, j] -> __pet_test_0[i] }'
83     read: 1
84     write: 0
85 - line: 15
86   domain: '{ [S_3[i, j] -> [1]] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }'
87   schedule: '{ S_3[i, j] -> [1, i, 1, j, 1] }'
88   body:
89     type: binary
90     operation: =
91     arguments:
92     - type: access
93       relation: '{ S_3[i, j] -> N[] }'
94       read: 0
95       write: 1
96     - type: call
97       name: f
98   arguments:
99   - type: access
100     relation: '{ S_3[i, j] -> __pet_test_0[i] }'
101     read: 1
102     write: 0