/* Gimple Represented as Polyhedra.
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@inria.fr>
and Tobias Grosser <grosser@fim.uni-passau.de>.
void ppl_print_powerset_matrix (FILE *, ppl_Pointset_Powerset_C_Polyhedron_t);
void debug_ppl_polyhedron_matrix (ppl_Polyhedron_t);
void debug_ppl_powerset_matrix (ppl_Pointset_Powerset_C_Polyhedron_t);
+void ppl_print_linear_expr (FILE *, ppl_Linear_Expression_t);
+void debug_ppl_linear_expr (ppl_Linear_Expression_t);
void ppl_read_polyhedron_matrix (ppl_Polyhedron_t *, FILE *);
void ppl_insert_dimensions (ppl_Polyhedron_t, int, int);
void ppl_insert_dimensions_pointset (ppl_Pointset_Powerset_C_Polyhedron_t, int,
int);
void ppl_set_inhomogeneous_gmp (ppl_Linear_Expression_t, Value);
void ppl_set_coef_gmp (ppl_Linear_Expression_t, ppl_dimension_type, Value);
+void ppl_max_for_le_pointset (ppl_Pointset_Powerset_C_Polyhedron_t,
+ ppl_Linear_Expression_t, Value);
+void ppl_min_for_le_pointset (ppl_Pointset_Powerset_C_Polyhedron_t,
+ ppl_Linear_Expression_t, Value);
+ppl_Constraint_t ppl_build_relation (int, int, int, int,
+ enum ppl_enum_Constraint_Type);
/* Assigns to RES the value of the INTEGER_CST T. */
value_assign (res, v1);
}
+/* Builds a new identity map for dimension DIM. */
+
+static inline ppl_dimension_type *
+ppl_new_id_map (ppl_dimension_type dim)
+{
+ ppl_dimension_type *map, i;
+
+ map = (ppl_dimension_type *) XNEWVEC (ppl_dimension_type, dim);
+
+ for (i = 0; i < dim; i++)
+ map[i] = i;
+
+ return map;
+}
+
+/* Builds an interchange of dimensions A and B in MAP. */
+
+static inline void
+ppl_interchange (ppl_dimension_type *map,
+ ppl_dimension_type a,
+ ppl_dimension_type b)
+{
+ map[a] = b;
+ map[b] = a;
+}
+
#endif