return isl_vec_free(vec);
}
+/* Compare the elements of "vec1" and "vec2" at position "pos".
+ */
+int isl_vec_cmp_element(__isl_keep isl_vec *vec1, __isl_keep isl_vec *vec2,
+ int pos)
+{
+ if (!vec1 || !vec2)
+ return 0;
+ if (pos < 0 || pos >= vec1->size || pos >= vec2->size)
+ isl_die(isl_vec_get_ctx(vec1), isl_error_invalid,
+ "position out of range", return 0);
+ return isl_int_cmp(vec1->el[pos], vec2->el[pos]);
+}
+
int isl_vec_is_equal(__isl_keep isl_vec *vec1, __isl_keep isl_vec *vec2)
{
if (!vec1 || !vec2)
return vec;
}
+/* Replace all elements of "vec" by "v".
+ */
+__isl_give isl_vec *isl_vec_set_val(__isl_take isl_vec *vec,
+ __isl_take isl_val *v)
+{
+ vec = isl_vec_cow(vec);
+ if (!vec || !v)
+ goto error;
+ if (!isl_val_is_int(v))
+ isl_die(isl_val_get_ctx(v), isl_error_invalid,
+ "expecting integer value", goto error);
+ isl_seq_set(vec->el, v->n, vec->size);
+ isl_val_free(v);
+ return vec;
+error:
+ isl_vec_free(vec);
+ isl_val_free(v);
+ return NULL;
+}
+
__isl_give isl_vec *isl_vec_clr(__isl_take isl_vec *vec)
{
vec = isl_vec_cow(vec);