00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <polylib/polylib.h>
00031
00032 int main () {
00033
00034 Matrix *a, *b;
00035 Polyhedron *P;
00036 ZPolyhedron *Z1, *Z2, *Z3, *Z4;
00037
00038 a = Matrix_Read ();
00039 b = Matrix_Read ();
00040 P = Constraints2Polyhedron (b, 200);
00041 Z1 = ZPolyhedron_Alloc (a, P);
00042
00043 Matrix_Free (a);
00044 Matrix_Free (b);
00045 Domain_Free (P);
00046
00047 a = Matrix_Read ();
00048 b = Matrix_Read ();
00049 P = Constraints2Polyhedron (b, 200);
00050 Z2 = ZPolyhedron_Alloc (a, P);
00051
00052 Matrix_Free (a);
00053 Matrix_Free (b);
00054 Domain_Free (P);
00055
00056 Z3 = ZDomainIntersection (Z1, Z2);
00057 printf ("\nZ3 = Z1 and Z2");
00058 ZDomainPrint(stdout,P_VALUE_FMT, Z3);
00059
00060 a = Matrix_Read ();
00061 Z4 = ZDomainImage (Z1, a);
00062 printf ("\nZ4 = image (Z1 by a)");
00063 ZDomainPrint (stdout,P_VALUE_FMT, Z4);
00064
00065 Matrix_Free (a);
00066 ZDomain_Free (Z1);
00067 ZDomain_Free (Z2);
00068 ZDomain_Free (Z3);
00069 ZDomain_Free (Z4);
00070
00071 return 0;
00072 }