source: CIVL/examples/mem/mem_tests/mem_union2.cvl

main
Last change on this file 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: 712 bytes
RevLine 
[da65ee2]1#include<mem.cvh>
2
3$input int N;
4$assume(N > 10);
5
6struct T {
7 int x[N];
8 double y[N];
9} a[N];
10
11union U {
12 int x[N];
13 double y[N];
14} b[N];
15
16int main() {
17 $mem m = &a[0 .. N-1].x[0 .. N-1];
18
19 m = $mem_union(m, &a[0 .. N-1].y[0 .. N-1]);
20 $assert($mem_contains(m, &a[1 .. N-2].x[1 .. N-2]));
21 $assert($mem_contains(m, &a[1 .. N-2].y[1 .. N-2]));
22 m = $mem_union(m, &b[0 .. N-1].y[0 .. N-1]);
23 m = $mem_union(m, &b[0 .. N-1].x[0 .. N-1]);
24 $assert($mem_contains(m, &a));
25 $assert($mem_contains(m, &b));
26
27 m = &b[0 .. N-1].x[0 .. N-1];
28 m = $mem_union(m, &b[0 .. N-1].y[0 .. N-1]);
29 $assert($mem_contains(m, &b[1 .. N-2].x[1 .. N-2]));
30 $assert($mem_contains(m, &b[1 .. N-2].y[1 .. N-2]));
31}
Note: See TracBrowser for help on using the repository browser.