isl_dim *dim;
isl_qpolynomial *opt;
int r;
+ enum isl_fold type;
nparam = isl_basic_set_dim(bset, isl_dim_param);
nvar = isl_basic_set_dim(bset, isl_dim_set);
data_m.test_monotonicity = 0;
data_m.signs = signs;
- data_m.pwf = isl_pw_qpolynomial_fold_zero(dim);
data_m.sign = -sign;
+ type = data_m.sign < 0 ? isl_fold_min : isl_fold_max;
+ data_m.pwf = isl_pw_qpolynomial_fold_zero(dim, type);
data_m.tight = 0;
data_m.pwf_tight = NULL;
fold = isl_qpolynomial_fold_alloc(type, poly);
set = isl_set_from_basic_set(bset);
- pwf = isl_pw_qpolynomial_fold_alloc(set, fold);
+ pwf = isl_pw_qpolynomial_fold_alloc(type, set, fold);
if (data->tight)
- data->pwf_tight = isl_pw_qpolynomial_fold_add(
+ data->pwf_tight = isl_pw_qpolynomial_fold_fold(
data->pwf_tight, pwf);
else
- data->pwf = isl_pw_qpolynomial_fold_add(data->pwf, pwf);
+ data->pwf = isl_pw_qpolynomial_fold_fold(data->pwf, pwf);
return 0;
}
return r;
}
-
-/* Compute a lower or upper bound (depending on "type") on the given
- * piecewise step-polynomial using range propagation.
- */
-__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_bound_range(
- __isl_take isl_pw_qpolynomial *pwqp, enum isl_fold type, int *tight)
-{
- return isl_pw_qpolynomial_bound(pwqp, type, tight);
-}