source: CIVL/examples/modelbuilder/arrayLambda.cvl@ a389857

main test-branch
Last change on this file since a389857 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: 697 bytes
Line 
1#include<assert.h>
2#include<civlc.cvh>
3
4$input int n;
5$input int m;
6$assume(n>=1 && m>=1);
7$input int A[n];
8$input int B[n][m];
9
10int f(int *x){
11 return x[0]*2;
12}
13
14int main(){
15 int a[n],b[n][m],c;
16 $domain(2) dom=($domain(2)){0 .. n-1, 0 .. m-1};
17
18 a=(int[n]) $lambda(int i) i*2;
19 assert($forall(int k: 0 .. n-1) a[k]==k*2);
20 a=(int[n]) $lambda(int i) A[i]*2;
21 assert($forall(int i: 0 .. n-1) a[i]==A[i]*2);
22 b=(int[n][m]) $lambda(int i, j) i+j;
23 assert($forall(int i: 0 .. n-1; int j: 0 .. m-1) b[i][j]==i+j);
24 b=(int[n][m]) $lambda(int i,j) B[i][j] * 5;
25 assert($forall(int i: 0 .. n-1; int j: 0 .. m-1) b[i][j]==B[i][j]*5);
26 c=f((int[n]) $lambda(int k) a[k]);
27 assert(c==a[0]*2);
28}
Note: See TracBrowser for help on using the repository browser.