1.23
2.0
main
test-branch
| Line | |
|---|
| 1 | #define M 10
|
|---|
| 2 | #define N 20
|
|---|
| 3 | int a[N];
|
|---|
| 4 |
|
|---|
| 5 | int main() {
|
|---|
| 6 | int b[N];
|
|---|
| 7 |
|
|---|
| 8 | /*@ loop invariant 0 <= i && i <= N;
|
|---|
| 9 | @ loop invariant i <= M ==> (\forall int i1; 0 <= i1 && i1 < i ==> b[i] == 0);
|
|---|
| 10 | @ loop invariant i > M ==> (\forall int i1; 0 <= i1 && i1 < M ==> b[i] == 0);
|
|---|
| 11 | @ loop invariant \forall int i1; M < i1 && i1 < i ==> b[i] == a[i];
|
|---|
| 12 | @ loop assigns i, b[0 .. M-1], b[M .. N-1];
|
|---|
| 13 | @*/
|
|---|
| 14 | for (int i = 0; i < N; i++) {
|
|---|
| 15 | if (i < M) b[i] = 0;
|
|---|
| 16 | else if (i > M) b[i] = a[i];
|
|---|
| 17 | }
|
|---|
| 18 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.