__isl_take isl_map *cond, struct vars *v)
{
isl_space *dim;
- isl_pw_aff *pwaff1 = NULL, *pwaff2 = NULL;
+ isl_pw_aff *pwaff1 = NULL, *pwaff2 = NULL, *pa_cond;
if (!cond)
return NULL;
if (!pwaff1)
goto error;
- return isl_pw_aff_cond(isl_map_wrap(cond), pwaff1, pwaff2);
+ pa_cond = isl_set_indicator_function(isl_map_wrap(cond));
+ return isl_pw_aff_cond(pa_cond, pwaff1, pwaff2);
error:
isl_map_free(cond);
isl_pw_aff_free(pwaff1);
nested = read_nested_tuple(s, isl_map_universe(dim), v);
if (type == isl_dim_in) {
nested = isl_map_reverse(nested);
- map = isl_map_intersect(nested, map);
+ map = isl_map_intersect_params(nested, map);
} else {
isl_set *set;
dim = isl_set_get_space(nested);
goto error;
if (isl_stream_next_token_is(s, ISL_TOKEN_EXISTS) ||
+ isl_stream_next_token_is(s, ISL_TOKEN_NOT) ||
isl_stream_next_token_is(s, ISL_TOKEN_TRUE) ||
isl_stream_next_token_is(s, ISL_TOKEN_FALSE) ||
isl_stream_next_token_is(s, ISL_TOKEN_MAP)) {
int pow;
isl_stream_push_token(s, tok);
- pwaff = accept_affine(s, isl_map_get_space(map), v);
+ pwaff = accept_div(s, isl_map_get_space(map), v);
pow = optional_power(s);
pwqp = isl_pw_qpolynomial_from_pw_aff(pwaff);
pwqp = isl_pw_qpolynomial_pow(pwqp, pow);
pa_i = read_pw_aff_with_dom(s, aff_dom, v);
vars_drop(v, v->n - n);
- pa = isl_pw_aff_add(pa, pa_i);
+ pa = isl_pw_aff_union_add(pa, pa_i);
}
if (isl_stream_eat(s, '}'))