Lines Matching defs:cone
866 /// cone and therefore always contains an integer point.
918 // full-dimensional cone, which necessarily contains an integer sample.
920 IntegerRelation &cone = transformedSet;
922 // 5) Obtain an integer sample from the cone.
924 // We shrink the cone such that for any rational point in the shrunken cone,
926 // lies in the original cone.
929 // For each inequality sum_i a_i x_i + c >= 0 in the original cone, the
930 // shrunken cone will have the inequality tightened by some amount s, such
931 // that if x satisfies the shrunken cone's tightened inequality, then x + e
946 // amount for the shrunken cone.
947 for (unsigned i = 0, e = cone.getNumInequalities(); i < e; ++i) {
948 for (unsigned j = 0; j < cone.getNumVars(); ++j) {
949 DynamicAPInt coeff = cone.atIneq(i, j);
951 cone.atIneq(i, cone.getNumVars()) += coeff;
955 // Obtain an integer sample in the cone by rounding up a rational point from
956 // the shrunken cone. Shrinking the cone amounts to shifting its apex
957 // "inwards" without changing its "shape"; the shrunken cone is still a
958 // full-dimensional cone and is hence non-empty.
959 Simplex shrunkenConeSimplex(cone);
960 assert(!shrunkenConeSimplex.isEmpty() && "Shrunken cone cannot be empty!");
962 // The sample will always exist since the shrunken cone is non-empty.