source: CIVL/examples/focus/arrayReversal.cvl@ beab7f2

main test-branch
Last change on this file since beab7f2 was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 358 bytes
Line 
1#include<assert.h>
2
3#pragma CIVL ACSL
4$input int N;
5$assume(0 < N);
6$input int a[N];
7
8int main() {
9 int revA[N];
10
11 int half = N/2 - 1;
12 //@ focus I;
13 for (int i = 0; i <= half; i++) {
14 revA[i] = a[N-1-i];
15 revA[N-1-i] = a[i];
16 }
17 if (N%2 == 1)
18 revA[half+1] = a[half+1];
19
20 //@ focus I;
21 $assert($forall(int i:0..N-1) revA[i] == a[N-1-i]);
22}
Note: See TracBrowser for help on using the repository browser.