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