16 #include <polymake/Graph.h>
22 gfan::ZCone* zp = (gfan::ZCone*) i1->
Data();
29 gfan::initializeCddlibIfRequired();
30 gfan::ZCone* zq = (gfan::ZCone*) i2->
Data();
36 polymake::perl::Object pms;
37 CallPolymakeFunction(
"minkowski_sum", *
pp, *pq) >> pms;
42 catch (
const std::exception& ex)
44 gfan::deinitializeCddlibIfRequired();
48 gfan::deinitializeCddlibIfRequired();
50 res->data = (
void*) ms;
59 gfan::initializeCddlibIfRequired();
60 int s = (int)(
long) i2->
Data();
61 gfan::ZMatrix zm = zp->extremeRays();
62 for (
int i=0;
i<zm.getHeight();
i++)
63 for (
int j=1;
j<zm.getWidth();
j++)
65 gfan::ZCone* zs =
new gfan::ZCone();
66 *zs = gfan::ZCone::givenByRays(zm,gfan::ZMatrix(0, zm.getWidth()));
67 gfan::deinitializeCddlibIfRequired();
69 res->data = (
void*) zs;
78 gfan::initializeCddlibIfRequired();
79 gfan::ZCone* zq = (gfan::ZCone*) i2->
Data();
80 int d1 = zp->ambientDimension();
81 int d2 = zq->ambientDimension();
84 gfan::deinitializeCddlibIfRequired();
85 WerrorS(
"mismatching ambient dimensions");
88 gfan::ZCone* zs =
new gfan::ZCone();
89 *zs = gfan::intersection(*zp, *zq);
91 gfan::deinitializeCddlibIfRequired();
93 res->data = (
void*) zs;
102 gfan::initializeCddlibIfRequired();
103 gfan::ZCone* zq = (gfan::ZCone*) i2->
Data();
104 int d1 = zp->ambientDimension();
105 int d2 = zq->ambientDimension();
108 gfan::deinitializeCddlibIfRequired();
109 WerrorS(
"mismatching ambient dimensions");
112 gfan::ZMatrix
rays = zp->extremeRays();
113 rays.append(zq->extremeRays());
114 gfan::ZMatrix lineality = zp->generatorsOfLinealitySpace();
115 lineality.append(zq->generatorsOfLinealitySpace());
116 gfan::ZCone* zs =
new gfan::ZCone();
117 *zs = gfan::ZCone::givenByRays(
rays,lineality);
119 gfan::deinitializeCddlibIfRequired();
121 res->data = (
void*) zs;
130 gfan::initializeCddlibIfRequired();
131 gfan::ZCone* zq = (gfan::ZCone*) i2->
Data();
134 bool b = !((*zp)!=(*zq));
135 gfan::deinitializeCddlibIfRequired();
137 res->data = (
char*) (
long)
b;
218 gfan::initializeCddlibIfRequired();
219 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
224 b =
p->give(
"Lattice");
227 catch (
const std::exception& ex)
229 gfan::deinitializeCddlibIfRequired();
233 gfan::deinitializeCddlibIfRequired();
235 res->data = (
char*) (
long)
b;
238 WerrorS(
"isLatticePolytope: unexpected parameters");
248 gfan::initializeCddlibIfRequired();
249 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
254 b =
p->give(
"BOUNDED");
257 catch (
const std::exception& ex)
259 gfan::deinitializeCddlibIfRequired();
263 gfan::deinitializeCddlibIfRequired();
265 res->data = (
char*) (
long)
b;
268 WerrorS(
"isBounded: unexpected parameters");
278 gfan::initializeCddlibIfRequired();
279 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
284 b =
p->give(
"REFLEXIVE");
287 catch (
const std::exception& ex)
289 gfan::deinitializeCddlibIfRequired();
293 gfan::deinitializeCddlibIfRequired();
295 res->data = (
char*) (
long)
b;
298 WerrorS(
"isReflexive: unexpected parameters");
308 gfan::initializeCddlibIfRequired();
309 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
314 b =
p->give(
"GORENSTEIN");
317 catch (
const std::exception& ex)
319 gfan::deinitializeCddlibIfRequired();
323 gfan::deinitializeCddlibIfRequired();
325 res->data = (
char*) (
long)
b;
328 WerrorS(
"isGorenstein: unexpected parameters");
338 gfan::initializeCddlibIfRequired();
339 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
345 bool b =
p->give(
"GORENSTEIN");
348 polymake::Integer pgi =
p->give(
"GORENSTEIN_INDEX");
355 gfan::deinitializeCddlibIfRequired();
356 WerrorS(
"gorensteinIndex: input polytope not gorenstein");
360 catch (
const std::exception& ex)
362 gfan::deinitializeCddlibIfRequired();
366 gfan::deinitializeCddlibIfRequired();
369 WerrorS(
"overflow while converting polymake::Integer to int");
373 res->data = (
char*) (
long) gi;
376 WerrorS(
"gorensteinIndex: unexpected parameters");
386 gfan::initializeCddlibIfRequired();
387 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
393 bool b =
p->give(
"GORENSTEIN");
396 polymake::Vector<polymake::Integer> pgv =
p->give(
"GORENSTEIN_VECTOR");
403 gfan::deinitializeCddlibIfRequired();
404 WerrorS(
"gorensteinVector: input polytope not gorenstein");
408 catch (
const std::exception& ex)
410 gfan::deinitializeCddlibIfRequired();
414 gfan::deinitializeCddlibIfRequired();
417 WerrorS(
"gorensteinVector: overflow in PmVectorInteger2Intvec");
421 res->data = (
char*) gv;
424 WerrorS(
"gorensteinVector: unexpected parameters");
434 gfan::initializeCddlibIfRequired();
435 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
440 b =
p->give(
"CANONICAL");
443 catch (
const std::exception& ex)
445 gfan::deinitializeCddlibIfRequired();
449 gfan::deinitializeCddlibIfRequired();
451 res->data = (
char*) (
long)
b;
454 WerrorS(
"isCanonical: unexpected parameters");
464 gfan::initializeCddlibIfRequired();
465 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
470 b =
p->give(
"TERMINAL");
473 catch (
const std::exception& ex)
475 gfan::deinitializeCddlibIfRequired();
479 gfan::deinitializeCddlibIfRequired();
481 res->data = (
char*) (
long)
b;
484 WerrorS(
"isTerminal: unexpected parameters");
494 gfan::initializeCddlibIfRequired();
495 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
500 b =
p->give(
"LATTICE_EMPTY");
503 catch (
const std::exception& ex)
505 gfan::deinitializeCddlibIfRequired();
509 gfan::deinitializeCddlibIfRequired();
511 res->data = (
char*) (
long)
b;
514 WerrorS(
"isLatticeEmpty: unexpected parameters");
524 gfan::initializeCddlibIfRequired();
525 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
531 polymake::Integer plv =
p->give(
"LATTICE_VOLUME");
535 catch (
const std::exception& ex)
537 gfan::deinitializeCddlibIfRequired();
541 gfan::deinitializeCddlibIfRequired();
544 WerrorS(
"overflow while converting polymake::Integer to int");
548 res->data = (
char*) (
long) lv;
551 WerrorS(
"latticeVolume: unexpected parameters");
561 gfan::initializeCddlibIfRequired();
562 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
568 polymake::Integer pld =
p->give(
"LATTICE_DEGREE");
572 catch (
const std::exception& ex)
574 gfan::deinitializeCddlibIfRequired();
578 gfan::deinitializeCddlibIfRequired();
581 WerrorS(
"overflow while converting polymake::Integer to int");
585 res->data = (
char*) (
long) ld;
588 WerrorS(
"latticeDegree: unexpected parameters");
598 gfan::initializeCddlibIfRequired();
599 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
605 polymake::Integer plc =
p->give(
"LATTICE_CODEGREE");
609 catch (
const std::exception& ex)
611 gfan::deinitializeCddlibIfRequired();
615 gfan::deinitializeCddlibIfRequired();
618 WerrorS(
"overflow while converting polymake::Integer to int");
622 res->data = (
char*) (
long)
lc;
625 WerrorS(
"latticeCodegree: unexpected parameters");
635 gfan::initializeCddlibIfRequired();
636 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
642 polymake::Vector<polymake::Integer> pec =
p->give(
"EHRHART_POLYNOMIAL_COEFF");
646 catch (
const std::exception& ex)
648 gfan::deinitializeCddlibIfRequired();
652 gfan::deinitializeCddlibIfRequired();
655 WerrorS(
"ehrhartPolynomialCoeff: overflow in PmVectorInteger2Intvec");
659 res->data = (
char*) ec;
662 WerrorS(
"ehrhartPolynomialCoeff: unexpected parameters");
672 gfan::initializeCddlibIfRequired();
673 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
679 polymake::Vector<polymake::Integer> phv =
p->give(
"F_VECTOR");
683 catch (
const std::exception& ex)
685 gfan::deinitializeCddlibIfRequired();
689 gfan::deinitializeCddlibIfRequired();
692 WerrorS(
"fVectorP: overflow in PmVectorInteger2Intvec");
696 res->data = (
char*) hv;
699 WerrorS(
"fVectorP: unexpected parameters");
709 gfan::initializeCddlibIfRequired();
710 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
716 polymake::Vector<polymake::Integer> phv =
p->give(
"H_VECTOR");
720 catch (
const std::exception& ex)
722 gfan::deinitializeCddlibIfRequired();
726 gfan::deinitializeCddlibIfRequired();
729 WerrorS(
"hVector: overflow in PmVectorInteger2Intvec");
733 res->data = (
char*) hv;
736 WerrorS(
"hVector: unexpected parameters");
746 gfan::initializeCddlibIfRequired();
747 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
753 polymake::Vector<polymake::Integer> phv =
p->give(
"H_STAR_VECTOR");
757 catch (
const std::exception& ex)
759 gfan::deinitializeCddlibIfRequired();
763 gfan::deinitializeCddlibIfRequired();
766 WerrorS(
"hStarVector: overflow in PmVectorInteger2Intvec");
770 res->data = (
char*) hv;
773 WerrorS(
"hStarVector: unexpected parameters");
783 gfan::initializeCddlibIfRequired();
784 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
789 b =
p->give(
"NORMAL");
792 catch (
const std::exception& ex)
794 gfan::deinitializeCddlibIfRequired();
798 gfan::deinitializeCddlibIfRequired();
800 res->data = (
char*) (
long)
b;
803 WerrorS(
"isNormal: unexpected parameters");
813 gfan::initializeCddlibIfRequired();
814 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
820 polymake::Vector<polymake::Integer> pfw =
p->give(
"FACET_WIDTHS");
824 catch (
const std::exception& ex)
826 gfan::deinitializeCddlibIfRequired();
830 gfan::deinitializeCddlibIfRequired();
833 WerrorS(
"facetWidths: overflow in PmVectorInteger2Intvec");
837 res->data = (
char*) fw;
840 WerrorS(
"facetWidths: unexpected parameters");
850 gfan::initializeCddlibIfRequired();
851 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
857 polymake::Integer pfw =
p->give(
"FACET_WIDTH");
861 catch (
const std::exception& ex)
863 gfan::deinitializeCddlibIfRequired();
867 gfan::deinitializeCddlibIfRequired();
870 WerrorS(
"overflow while converting polymake::Integer to int");
874 res->data = (
char*) (
long) fw;
877 WerrorS(
"facetWidth: unexpected parameters");
887 gfan::initializeCddlibIfRequired();
888 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
894 polymake::Matrix<polymake::Integer> pld =
p->give(
"FACET_VERTEX_LATTICE_DISTANCES");
898 catch (
const std::exception& ex)
900 gfan::deinitializeCddlibIfRequired();
904 gfan::deinitializeCddlibIfRequired();
907 WerrorS(
"overflow while converting polymake::Integer to int");
911 res->data = (
char*) ld;
914 WerrorS(
"facetVertexLatticeDistances: unexpected parameters");
924 gfan::initializeCddlibIfRequired();
925 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
930 b =
p->give(
"COMPRESSED");
933 catch (
const std::exception& ex)
935 gfan::deinitializeCddlibIfRequired();
939 gfan::deinitializeCddlibIfRequired();
941 res->data = (
char*) (
long)
b;
944 WerrorS(
"isCompressed: unexpected parameters");
954 gfan::initializeCddlibIfRequired();
955 gfan::ZCone* zc = (gfan::ZCone*)u->
Data();
960 b =
p->give(
"SMOOTH_CONE");
963 catch (
const std::exception& ex)
965 gfan::deinitializeCddlibIfRequired();
969 gfan::deinitializeCddlibIfRequired();
971 res->data = (
char*) (
long)
b;
976 gfan::initializeCddlibIfRequired();
977 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
982 b =
p->give(
"SMOOTH");
985 catch (
const std::exception& ex)
987 gfan::deinitializeCddlibIfRequired();
991 gfan::deinitializeCddlibIfRequired();
993 res->data = (
char*) (
long)
b;
998 gfan::initializeCddlibIfRequired();
999 gfan::ZFan* zf = (gfan::ZFan*)u->
Data();
1004 b =
p->give(
"SMOOTH_FAN");
1007 catch (
const std::exception& ex)
1009 gfan::deinitializeCddlibIfRequired();
1013 gfan::deinitializeCddlibIfRequired();
1015 res->data = (
char*) (
long)
b;
1018 WerrorS(
"isSmooth: unexpected parameters");
1028 gfan::initializeCddlibIfRequired();
1029 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1034 b =
p->give(
"VERY_AMPLE");
1037 catch (
const std::exception& ex)
1039 gfan::deinitializeCddlibIfRequired();
1043 gfan::deinitializeCddlibIfRequired();
1045 res->data = (
char*) (
long)
b;
1048 WerrorS(
"isVeryAmple: unexpected parameters");
1058 gfan::initializeCddlibIfRequired();
1059 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1065 #if (POLYMAKEVERSION >=214)
1066 polymake::Matrix<polymake::Integer> lp =
p->CallPolymakeMethod(
"LATTICE_POINTS");
1067 #elif (POLYMAKEVERSION >=212)
1068 polymake::Matrix<polymake::Integer> lp =
p->give(
"LATTICE_POINTS");
1070 #error polymake version too old
1075 catch (
const std::exception& ex)
1077 gfan::deinitializeCddlibIfRequired();
1081 gfan::deinitializeCddlibIfRequired();
1084 WerrorS(
"overflow while converting polymake::Integer to int");
1088 res->data = (
char*) iv;
1091 WerrorS(
"LatticePoints: unexpected parameters");
1101 gfan::initializeCddlibIfRequired();
1102 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1108 polymake::Integer nlp =
p->give(
"N_LATTICE_POINTS");
1112 catch (
const std::exception& ex)
1114 gfan::deinitializeCddlibIfRequired();
1118 gfan::deinitializeCddlibIfRequired();
1121 WerrorS(
"overflow while converting polymake::Integer to int");
1125 res->data = (
char*) (
long) n;
1128 WerrorS(
"nLatticePoints: unexpected parameters");
1138 gfan::initializeCddlibIfRequired();
1139 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1145 polymake::Matrix<polymake::Integer> lp =
p->give(
"INTERIOR_LATTICE_POINTS");
1149 catch (
const std::exception& ex)
1151 gfan::deinitializeCddlibIfRequired();
1155 gfan::deinitializeCddlibIfRequired();
1158 WerrorS(
"overflow while converting polymake::Integer to int");
1162 res->data = (
char*) iv;
1165 WerrorS(
"interiorLatticePoints: unexpected parameters");
1175 gfan::initializeCddlibIfRequired();
1176 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1182 polymake::Integer nlp =
p->give(
"N_INTERIOR_LATTICE_POINTS");
1186 catch (
const std::exception& ex)
1188 gfan::deinitializeCddlibIfRequired();
1192 gfan::deinitializeCddlibIfRequired();
1195 WerrorS(
"overflow while converting polymake::Integer to int");
1199 res->data = (
char*) (
long) n;
1202 WerrorS(
"nInteriorLatticePoints: unexpected parameters");
1212 gfan::initializeCddlibIfRequired();
1213 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1219 polymake::Matrix<polymake::Integer> lp =
p->give(
"BOUNDARY_LATTICE_POINTS");
1223 catch (
const std::exception& ex)
1225 gfan::deinitializeCddlibIfRequired();
1229 gfan::deinitializeCddlibIfRequired();
1232 WerrorS(
"overflow while converting polymake::Integer to int");
1236 res->data = (
char*) iv;
1239 WerrorS(
"boundaryLatticePoints: unexpected parameters");
1249 gfan::initializeCddlibIfRequired();
1250 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1256 polymake::Integer nlp =
p->give(
"N_BOUNDARY_LATTICE_POINTS");
1260 catch (
const std::exception& ex)
1262 gfan::deinitializeCddlibIfRequired();
1266 gfan::deinitializeCddlibIfRequired();
1269 WerrorS(
"overflow while converting polymake::Integer to int");
1273 res->data = (
char*) (
long) n;
1276 WerrorS(
"nBoundaryLatticePoints: unexpected parameters");
1286 gfan::initializeCddlibIfRequired();
1287 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1293 #if (POLYMAKEVERSION >=214)
1294 polymake::Matrix<polymake::Integer> lp =
p->CallPolymakeMethod(
"HILBERT_BASIS");
1295 #elif (POLYMAKEVERSION >=212)
1296 polymake::Matrix<polymake::Integer> lp =
p->give(
"HILBERT_BASIS");
1298 #error polymake version too old
1303 catch (
const std::exception& ex)
1305 gfan::deinitializeCddlibIfRequired();
1309 gfan::deinitializeCddlibIfRequired();
1312 WerrorS(
"overflow while converting polymake::Integer to int");
1316 res->data = (
char*) iv;
1319 WerrorS(
"hilbertBasis: unexpected parameters");
1329 gfan::initializeCddlibIfRequired();
1330 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1336 polymake::Integer nlp =
p->give(
"N_HILBERT_BASIS");
1340 catch (
const std::exception& ex)
1342 gfan::deinitializeCddlibIfRequired();
1346 gfan::deinitializeCddlibIfRequired();
1349 WerrorS(
"overflow while converting polymake::Integer to int");
1353 res->data = (
char*) (
long) n;
1356 WerrorS(
"nHilbertBasis: unexpected parameters");
1369 gfan::initializeCddlibIfRequired();
1370 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1371 gfan::ZCone* zq = (gfan::ZCone*)
v->Data();
1377 polymake::perl::Object pms;
1378 CallPolymakeFunction(
"minkowski_sum", *
pp, *pq) >> pms;
1383 catch (
const std::exception& ex)
1385 gfan::deinitializeCddlibIfRequired();
1389 gfan::deinitializeCddlibIfRequired();
1391 res->data = (
char*) ms;
1396 gfan::initializeCddlibIfRequired();
1397 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1398 gfan::ZCone* zc = (gfan::ZCone*)
v->Data();
1399 gfan::ZCone* zq =
new gfan::ZCone(
liftUp(*zc));
1405 polymake::perl::Object pms;
1406 CallPolymakeFunction(
"minkowski_sum", *
pp, *pq) >> pms;
1411 catch (
const std::exception& ex)
1414 gfan::deinitializeCddlibIfRequired();
1419 gfan::deinitializeCddlibIfRequired();
1421 res->data = (
char*) ms;
1430 gfan::initializeCddlibIfRequired();
1431 gfan::ZCone* zc = (gfan::ZCone*)u->
Data();
1432 gfan::ZCone* zp =
new gfan::ZCone(
liftUp(*zc));
1433 gfan::ZCone* zq = (gfan::ZCone*)
v->Data();
1439 polymake::perl::Object pms;
1440 CallPolymakeFunction(
"minkowski_sum", *
pp, *pq) >> pms;
1445 catch (
const std::exception& ex)
1448 gfan::deinitializeCddlibIfRequired();
1453 gfan::deinitializeCddlibIfRequired();
1455 res->data = (
char*) ms;
1460 gfan::initializeCddlibIfRequired();
1461 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1462 gfan::ZCone* zq = (gfan::ZCone*)
v->Data();
1468 polymake::perl::Object pms;
1469 CallPolymakeFunction(
"minkowski_sum", *
pp, *pq) >> pms;
1474 catch (
const std::exception& ex)
1477 gfan::deinitializeCddlibIfRequired();
1480 gfan::deinitializeCddlibIfRequired();
1482 res->data = (
char*) ms;
1486 WerrorS(
"minkowskiSum: unexpected parameters");
1491 polymake::Matrix<polymake::Integer>
verticesOf(
const polymake::perl::Object*
p,
1492 const polymake::Set<polymake::Integer>*
s)
1494 polymake::Matrix<polymake::Integer> allrays =
p->give(
"VERTICES");
1495 polymake::Matrix<polymake::Integer> wantedrays;
1497 for(polymake::Entire<polymake::Set<polymake::Integer> >::const_iterator
i=polymake::entire(*
s); !
i.at_end();
i++)
1503 WerrorS(
"overflow while converting polymake::Integer to int in raysOf");
1517 gfan::initializeCddlibIfRequired();
1518 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1525 polymake::perl::Object o(
"LinearProgram<Rational>");
1528 polymake::Set<polymake::Integer> mf =
p->give(
"LP.MAXIMAL_FACE");
1533 catch (
const std::exception& ex)
1536 gfan::deinitializeCddlibIfRequired();
1539 gfan::deinitializeCddlibIfRequired();
1542 WerrorS(
"overflow while converting polymake::Integer to int");
1546 res->data = (
char*) maxface;
1550 WerrorS(
"maximalFace: unexpected parameters");
1563 gfan::initializeCddlibIfRequired();
1564 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1571 polymake::perl::Object o(
"LinearProgram<Rational>");
1574 polymake::Set<polymake::Integer> mf =
p->give(
"LP.MINIMAL_FACE");
1579 catch (
const std::exception& ex)
1582 gfan::deinitializeCddlibIfRequired();
1585 gfan::deinitializeCddlibIfRequired();
1588 WerrorS(
"overflow while converting polymake::Integer to int");
1592 res->data = (
char*) minface;
1596 WerrorS(
"minimalFace: unexpected parameters");
1609 gfan::initializeCddlibIfRequired();
1610 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1612 if (iv->
rows()==zp->ambientDimension())
1620 polymake::perl::Object o(
"LinearProgram<Rational>");
1621 o.take(
"LINEAR_OBJECTIVE") << lo;
1623 polymake::Integer mv =
p->give(
"LP.MAXIMAL_VALUE");
1627 catch (
const std::exception& ex)
1630 gfan::deinitializeCddlibIfRequired();
1633 gfan::deinitializeCddlibIfRequired();
1636 WerrorS(
"overflow while converting polymake::Integer to int");
1640 res->data = (
char*) (
long)
m;
1644 WerrorS(
"maximalValue: vector is of wrong size");
1647 WerrorS(
"maximalValue: unexpected parameters");
1659 gfan::initializeCddlibIfRequired();
1660 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1662 if (iv->
rows()==zp->ambientDimension())
1670 polymake::perl::Object o(
"LinearProgram<Rational>");
1671 o.take(
"LINEAR_OBJECTIVE") << lo;
1673 polymake::Integer mv =
p->give(
"LP.MINIMAL_VALUE");
1677 catch (
const std::exception& ex)
1680 gfan::deinitializeCddlibIfRequired();
1683 gfan::deinitializeCddlibIfRequired();
1686 WerrorS(
"overflow while converting polymake::Integer to int");
1690 res->data = (
char*) (
long)
m;
1694 WerrorS(
"minimalValue: vector is of wrong size");
1697 WerrorS(
"minimalValue: unexpected parameters");
1707 gfan::initializeCddlibIfRequired();
1708 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1712 VoidCallPolymakeFunction(
"jreality",
pp->CallPolymakeMethod(
"VISUAL"));
1715 catch (
const std::exception& ex)
1718 gfan::deinitializeCddlibIfRequired();
1721 gfan::deinitializeCddlibIfRequired();
1728 gfan::initializeCddlibIfRequired();
1729 gfan::ZFan* zf = (gfan::ZFan*)u->
Data();
1733 VoidCallPolymakeFunction(
"jreality",pf->CallPolymakeMethod(
"VISUAL"));
1735 catch (
const std::exception& ex)
1737 gfan::deinitializeCddlibIfRequired();
1741 gfan::deinitializeCddlibIfRequired();
1746 WerrorS(
"visual: unexpected parameters");
1755 gfan::initializeCddlibIfRequired();
1756 gfan::ZCone* zp = (gfan::ZCone*)u->
Data();
1757 gfan::ZFan* zf =
new gfan::ZFan(0);
1761 polymake::perl::Object pf;
1762 CallPolymakeFunction(
"normal_fan", *
p) >> pf;
1766 catch (
const std::exception& ex)
1768 gfan::deinitializeCddlibIfRequired();
1772 gfan::deinitializeCddlibIfRequired();
1774 res->data = (
char*) zf;
1777 WerrorS(
"normalFan: unexpected parameters");
1786 gfan::initializeCddlibIfRequired();
1787 polymake::perl::Object pc(
"Cone<Rational>");
1790 pc.take(
"INPUT_RAYS") << pmhlines;
1797 pc.take(
"INPUT_LINEALITY") << pmlines;
1807 gfan::deinitializeCddlibIfRequired();
1809 res->data = (
char*) zc;
1812 WerrorS(
"coneViaRays: unexpected parameters");
1822 gfan::initializeCddlibIfRequired();
1823 polymake::perl::Object
pp(
"Polytope<Rational>");
1830 int flag = (int) (
long)
v->Data();
1833 case 0:
pp.take(
"POINTS") << pmpoints;
1834 case 1:
pp.take(
"VERTICES") << pmpoints;
1835 default:
WerrorS(
"polytopeViaVertices: invalid flag");
1839 pp.take(
"POINTS") << pmpoints;
1842 gfan::deinitializeCddlibIfRequired();
1844 res->data = (
char*) zp;
1847 WerrorS(
"polytopeViaVertices: unexpected parameters");
1857 gfan::initializeCddlibIfRequired();
1858 gfan::ZCone* zp = (gfan::ZCone*) u->
Data();
1863 polymake::Matrix<polymake::Integer> vert0 =
p->give(
"VERTICES");
1866 output->
m[0].
data = (
void*) vert1;
1868 polymake::Graph<> gr=
p->give(
"GRAPH.ADJACENCY");
1869 polymake::IncidenceMatrix<polymake::NonSymmetric> adj = adjacency_matrix(gr);
1872 output->
m[1].
data = (
void*) listOfEdges;
1875 catch (
const std::exception& ex)
1877 gfan::deinitializeCddlibIfRequired();
1881 gfan::deinitializeCddlibIfRequired();
1883 res->data = (
void*) output;
1886 WerrorS(
"vertexEdgeGraph: unexpected parameters");
1896 gfan::initializeCddlibIfRequired();
1897 gfan::ZCone* zp = (gfan::ZCone*) u->
Data();
1902 polymake::Matrix<polymake::Integer> vert0 =
p->give(
"VERTICES");
1905 output->
m[0].
data = (
void*) vert1;
1907 polymake::Graph<> gr=
p->give(
"GRAPH.ADJACENCY");
1908 polymake::IncidenceMatrix<polymake::NonSymmetric> adj = adjacency_matrix(gr);
1911 output->
m[1].
data = (
void*) listOfEdges;
1914 catch (
const std::exception& ex)
1916 gfan::deinitializeCddlibIfRequired();
1920 gfan::deinitializeCddlibIfRequired();
1922 res->data = (
void*) output;
1925 WerrorS(
"vertexEdgeGraph: unexpected parameters");
1934 omp_set_num_threads(1);
1976 p->iiAddCproc(
"polymakeInterface.lib",
"visual",
FALSE,
visual);