source: CIVL/examples/arithmetic/quadratic2.cvl

main
Last change on this file was b689afd, checked in by Stephen Siegel <siegel@…>, 4 weeks ago

Getting rid of unused examples that are not good and starting to clean
up others.

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

  • Property mode set to 100644
File size: 828 bytes
RevLine 
[869af89]1#include <stdio.h>
2
3$input int x, y, z, w;
4$input int N, M, L, K;
5$input int offset;
6
[3ff27cf]7$assume(0< N && N <= 2);
8$assume(0< M && M <= 2);
9$assume(0< L && L <= 2);
10$assume(0< K && K <= 2);
11$assume(0 <= x && x < N);
12$assume(0 <= y && y < M);
13$assume(0 <= z && z < L);
14$assume(0 <= w && w < K);
15$assume(0 <= offset );
16$assume((offset + x*M*L*K + y*L*K + z*K + w) < M*N*L*K);
[869af89]17
18void main(){
19
20 int realIndex, finalIndex, X, Y, Z, W;
21
22 realIndex = x * M * L * K + y * L * K + z * K + w;
23 finalIndex = realIndex + offset;
24 X = finalIndex / (M * L * K);
25 finalIndex = finalIndex - X * M * L * K;
26 Y = finalIndex / (L * K);
27 finalIndex = finalIndex - Y * L * K;
28 Z = finalIndex / K;
29 W = finalIndex - Z * K;
30
31 printf("X=%d, Y=%d, Z=%d, W=%d\n", X,Y,Z,W);
[3ff27cf]32 $assert(X < N);
33 $assert(Y < M);
34 $assert(Z < L);
35 $assert(W < K);
[869af89]36}
Note: See TracBrowser for help on using the repository browser.