take into account that unsigned iterators may wrap
[pet.git] / tests / unsigned1.scop
blob9f973ed62065fd61cc4c2a444cc8f5f585b07697
1 context: '{ [] }'
2 arrays:
3 - context: '{ [] }'
4   extent: '{ a[] }'
5   element_type: int
6 statements:
7 - line: 10
8   domain: '{ S_0[i, j, k] : (exists (e0 = [(255 - i)/256], e1 = [(255 - j)/256], e2:
9     i >= 0 and i <= 255 and 256e0 >= -i and 256e0 <= 199 - i and j >= 0 and j <= 255
10     and 256e1 >= -j and 256e1 <= 199 - j and k >= 0 and k <= 255 and 256e2 >= -k and
11     256e2 <= -1 + i + j - k)) or (exists (e0 = [(255 - i)/256], e1 = [(255 - j)/256]:
12     i >= 0 and i <= 255 and 256e0 >= -i and 256e0 <= 199 - i and j >= 0 and j <= 255
13     and 256e1 >= -j and 256e1 <= 199 - j and k >= 0 and k <= 255 and j >= 256 - i))
14     }'
15   schedule: '{ S_0[i, j, k] -> [0, o1, o2, o3] : (exists (e0 = [(-i + o1)/256], e1
16     = [(-j + o2)/256], e2 = [(-k + o3)/256]: 256e0 = -i + o1 and 256e1 = -j + o2 and
17     256e2 = -k + o3 and o1 >= 0 and o1 <= 199 and i >= 0 and i <= 255 and o2 >= 0
18     and o2 <= 199 and j >= 0 and j <= 255 and o3 >= 0 and o3 <= -1 + i + j and k >=
19     0 and k <= 255)) or (exists (e0 = [(-i + o1)/256], e1 = [(-j + o2)/256], e2 =
20     [(-k + o3)/256]: 256e0 = -i + o1 and 256e1 = -j + o2 and 256e2 = -k + o3 and o1
21     >= 0 and o1 <= 199 and i >= 0 and i <= 255 and o2 >= 0 and o2 <= 199 and j >=
22     0 and j <= 255 and o3 >= 0 and o3 >= i + j and j >= 256 - i and k >= 0 and k <=
23     255)) }'
24   body:
25     type: binary
26     operation: =
27     arguments:
28     - type: access
29       relation: '{ S_0[i, j, k] -> a[] }'
30       read: 0
31       write: 1
32     - type: access
33       relation: '{ S_0[i, j, k] -> [5] }'
34       read: 1
35       write: 0