avoid overflows on signed integers
[pet.git] / tests / cuervo.scop
blob44739486cac7dd0511743f825cd6d4947a0bea5d
1 context: '[n, m] -> {  : n <= 2147483647 and m <= 2147483647 - n and m >= -2147483648
2   and n >= -2147483648 and m <= 2147483647 }'
3 arrays:
4 - context: '{  :  }'
5   extent: '[n, m] -> { A[i0] : i0 >= 0 }'
6   element_type: int
7   element_size: 4
8 - context: '{  :  }'
9   extent: '[n, m] -> { B[i0] : i0 >= 0 }'
10   element_type: int
11   element_size: 4
12 - context: '{  :  }'
13   extent: '[n, m] -> { C[i0] : i0 >= 0 }'
14   element_type: int
15   element_size: 4
16 statements:
17 - line: 6
18   domain: '[n, m] -> { S_0[i, j] : j <= m and j >= 0 and i <= n and i >= 0 }'
19   schedule: '[m, n] -> { S_0[i, j] -> [0, i, j] }'
20   body:
21     type: binary
22     operation: =
23     arguments:
24     - type: access
25       relation: '[n, m] -> { S_0[i, j] -> C[i + j] }'
26       read: 0
27       write: 1
28     - type: binary
29       operation: +
30       arguments:
31       - type: access
32         relation: '[n, m] -> { S_0[i, j] -> C[i + j] }'
33         read: 1
34         write: 0
35       - type: binary
36         operation: '*'
37         arguments:
38         - type: access
39           relation: '[n, m] -> { S_0[i, j] -> A[i] }'
40           read: 1
41           write: 0
42         - type: access
43           relation: '[n, m] -> { S_0[i, j] -> B[j] }'
44           read: 1
45           write: 0