1 #ifndef ISL_CONSTRAINT_H
2 #define ISL_CONSTRAINT_H
6 #if defined(__cplusplus)
10 struct isl_constraint {
14 struct isl_basic_map *bmap;
18 struct isl_constraint *isl_equality_alloc(struct isl_dim *dim);
19 struct isl_constraint *isl_inequality_alloc(struct isl_dim *dim);
20 struct isl_constraint *isl_basic_set_constraint(struct isl_basic_set *bset,
23 struct isl_constraint *isl_constraint_cow(struct isl_constraint *c);
24 struct isl_constraint *isl_constraint_copy(struct isl_constraint *c);
25 struct isl_constraint *isl_constraint_free(struct isl_constraint *c);
27 struct isl_constraint *isl_basic_set_first_constraint(
28 struct isl_basic_set *bset);
29 struct isl_constraint *isl_constraint_next(struct isl_constraint *c);
30 int isl_constraint_is_equal(struct isl_constraint *constraint1,
31 struct isl_constraint *constraint2);
33 struct isl_basic_set *isl_basic_set_add_constraint(
34 struct isl_basic_set *bset, struct isl_constraint *constraint);
36 int isl_basic_set_has_defining_equality(
37 struct isl_basic_set *bset, int pos,
38 struct isl_constraint **constraint);
39 int isl_basic_set_has_defining_inequalities(
40 struct isl_basic_set *bset, int pos,
41 struct isl_constraint **lower,
42 struct isl_constraint **upper);
44 int isl_constraint_dim(struct isl_constraint *constraint,
45 enum isl_dim_type type);
47 void isl_constraint_get_constant(struct isl_constraint *constraint, isl_int *v);
48 void isl_constraint_get_coefficient(struct isl_constraint *constraint,
49 enum isl_dim_type type, int pos, isl_int *v);
50 void isl_constraint_set_constant(struct isl_constraint *constraint, isl_int v);
51 void isl_constraint_set_coefficient(struct isl_constraint *constraint,
52 enum isl_dim_type type, int pos, isl_int v);
54 void isl_constraint_clear(struct isl_constraint *constraint);
55 struct isl_constraint *isl_constraint_negate(struct isl_constraint *constraint);
57 int isl_constraint_is_equality(struct isl_constraint *constraint);
59 struct isl_basic_set *isl_basic_set_from_constraint(
60 struct isl_constraint *constraint);
62 #if defined(__cplusplus)