extract out pet_expr_is_assume
[pet.git] / tests / conditional_assignment2.c
blob66cab9455945552c8c8a7e0eab9d49359fcd13bc
1 void compute_row(int, int *);
2 int f(const int *);
3 int g(int, int);
4 int g2();
5 int h(int);
7 int M;
8 int N;
10 void foo()
12 int i, j;
13 int in1[N][M];
14 int in2;
15 int A[N][10];
16 #pragma value_bounds in2 "-1" "1"
17 int C[N];
18 int m;
20 #pragma scop
21 in2 = g2();
22 for (i = 0; i < N; ++i) {
23 m = i+1;
24 for (j = 0; j < M; ++j)
25 m = g(h(m), in1[i][j]);
26 compute_row(h(m), A[i]);
28 A[5][6] = 0;
29 for (i = 0; i < N; ++i)
30 if (i + in2 >= 0 && i + in2 < N)
31 C[i] = f(A[i + in2]);
32 else
33 C[i] = 0;
34 #pragma endscop