source: CIVL/examples/modelbuilder/arrayLambda.cvl@ 63766e2

1.23 2.0 main test-branch
Last change on this file since 63766e2 was c7375f2, checked in by Manchun Zheng <zmanchun@…>, 10 years ago

implemented array lambdas; added tests accordingly.

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

  • Property mode set to 100644
File size: 559 bytes
Line 
1#include<assert.h>
2
3$input int n;
4$input int m;
5$input int A[n];
6$input int B[n][m];
7
8int main(){
9 int a[n],b[n][m];
10 $domain(2) dom=($domain(2)){0 .. n-1, 0 .. m-1};
11
12 a=(int[n]) $lambda(int i) i*2;
13 assert($forall(int k: 0 .. n-1) a[k]==k*2);
14 a=(int[n]) $lambda(int i) A[i]*2;
15 assert($forall(int i: 0 .. n-1) a[i]==A[i]*2);
16 b=(int[n][m]) $lambda(int i, j) i+j;
17 assert($forall(int i: 0 .. n-1; int j: 0 .. m-1) b[i][j]==i+j);
18 b=(int[n][m]) $lambda(int i,j) B[i][j] * 5;
19 assert($forall(int i: 0 .. n-1; int j: 0 .. m-1) b[i][j]==B[i][j]*5);
20}
Note: See TracBrowser for help on using the repository browser.