bmap->ineq[j] = t;
bmap->n_ineq--;
bmap->ineq++;
- }
+ } else
+ isl_seq_clr(bmap->eq[bmap->n_eq] +
+ 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div,
+ bmap->extra - bmap->n_div);
return bmap->n_eq++;
}
F_CLR(bmap, ISL_BASIC_MAP_NO_IMPLICIT);
F_CLR(bmap, ISL_BASIC_MAP_NO_REDUNDANT);
F_CLR(bmap, ISL_BASIC_MAP_NORMALIZED);
+ isl_seq_clr(bmap->ineq[bmap->n_ineq] +
+ 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div,
+ bmap->extra - bmap->n_div);
return bmap->n_ineq++;
}
isl_seq_clr(dst+1+dst_map->nparam+dst_map->n_in+dst_map->n_out, div_off);
isl_seq_cpy(dst+1+dst_map->nparam+dst_map->n_in+dst_map->n_out+div_off,
src+1+src_map->nparam+src_map->n_in+src_map->n_out,
- isl_min(dst_map->extra-div_off, src_map->extra));
- if (dst_map->extra-div_off > src_map->extra)
+ isl_min(dst_map->extra-div_off, src_map->n_div));
+ if (dst_map->n_div-div_off > src_map->n_div)
isl_seq_clr(dst+1+dst_map->nparam+dst_map->n_in+dst_map->n_out+
- div_off+src_map->extra,
- dst_map->extra - div_off - src_map->extra);
+ div_off+src_map->n_div,
+ dst_map->n_div - div_off - src_map->n_div);
}
static void copy_div(struct isl_basic_map *dst_map, isl_int *dst,
unsigned total;
if (!bmap)
goto error;
- total = bmap->nparam + bmap->n_in + bmap->n_out + bmap->extra;
+ total = bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div;
isl_basic_map_free_div(bmap, bmap->n_div);
isl_basic_map_free_inequality(bmap, bmap->n_ineq);
if (bmap->n_eq > 0)
int d;
int i, j, k;
unsigned total;
- unsigned extra;
if (!bmap)
return NULL;
bmap = isl_basic_map_extend(bmap,
bmap->nparam, bmap->n_in, bmap->n_out, 0,
0, n_lower * n_upper);
- extra = bmap->extra - bmap->n_div;
for (i = bmap->n_ineq - 1; i >= 0; --i) {
int last;
if (isl_int_is_zero(bmap->ineq[i][1+d]))
goto error;
isl_seq_cpy(bmap->ineq[k], bmap->ineq[i],
1+total);
- isl_seq_clr(bmap->ineq[k]+1+total, extra);
isl_seq_elim(bmap->ineq[k], bmap->ineq[j],
1+d, 1+total, NULL);
}
if (i < 0)
goto error;
isl_seq_clr(bmap->eq[i],
- 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->extra);
+ 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div);
isl_int_set_si(bmap->eq[i][1+bmap->nparam+pos], -1);
isl_int_set_si(bmap->eq[i][1+bmap->nparam+bmap->n_in+pos], 1);
return isl_basic_map_finalize(bmap);
if (i < 0)
goto error;
isl_seq_clr(bmap->ineq[i],
- 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->extra);
+ 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div);
isl_int_set_si(bmap->ineq[i][0], -1);
isl_int_set_si(bmap->ineq[i][1+bmap->nparam+pos], -1);
isl_int_set_si(bmap->ineq[i][1+bmap->nparam+bmap->n_in+pos], 1);
if (i < 0)
goto error;
isl_seq_clr(bmap->ineq[i],
- 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->extra);
+ 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div);
isl_int_set_si(bmap->ineq[i][0], -1);
isl_int_set_si(bmap->ineq[i][1+bmap->nparam+pos], 1);
isl_int_set_si(bmap->ineq[i][1+bmap->nparam+bmap->n_in+pos], -1);
{
int i, j;
unsigned div_pos = 1 + bmap->nparam + bmap->n_in + bmap->n_out + div;
- unsigned total = bmap->nparam + bmap->n_in + bmap->n_out + bmap->extra;
+ unsigned total = bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div;
i = isl_basic_map_alloc_inequality(bmap);
if (i < 0)
if (j < 0)
goto error;
isl_seq_clr(bmap->eq[j],
- 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->extra);
+ 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div);
isl_int_set_si(bmap->eq[j][1 + var], -1);
isl_int_set_si(bmap->eq[j][0], value);
bmap = isl_basic_map_simplify(bmap);
j = isl_basic_set_alloc_inequality(bset);
if (j < 0)
goto error;
- isl_seq_clr(bset->ineq[j], 1 + bset->nparam + bset->dim + bset->extra);
+ isl_seq_clr(bset->ineq[j], 1 + bset->nparam + bset->dim + bset->n_div);
isl_int_set_si(bset->ineq[j][1 + bset->nparam + dim], 1);
isl_int_neg(bset->ineq[j][0], value);
bset = isl_basic_set_simplify(bset);
if (j < 0)
goto error;
isl_seq_clr(bset->eq[j],
- 1 + bset->nparam + bset->dim + bset->extra);
+ 1 + bset->nparam + bset->dim + bset->n_div);
isl_int_set_si(bset->eq[j][1+bset->nparam+i], 1);
isl_int_set_si(bset->eq[j][1+bset->nparam+dim+i], 1);
isl_int_set_si(bset->eq[j][1+bset->nparam+2*dim+i], -1);
if (j < 0)
goto error;
isl_seq_clr(bmap->eq[j],
- 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->extra);
+ 1 + bmap->nparam + bmap->n_in + bmap->n_out + bmap->n_div);
isl_int_set_si(bmap->eq[j][1+nparam+i], 1);
isl_int_set_si(bmap->eq[j][1+nparam+dim+i], -1);
}
goto error;
isl_seq_cpy(dst->div[j], src->div[i], 1+1+total);
isl_seq_clr(dst->div[j]+1+1+total,
- dst->extra - src->n_div);
+ dst->n_div - src->n_div);
if (add_div_constraints(dst, j) < 0)
goto error;
}
isl_seq_neg(copy->ineq[k], c, len);
else
isl_seq_cpy(copy->ineq[k], c, len);
- total = 1 + copy->nparam + copy->n_in + copy->n_out + copy->extra;
+ total = 1 + copy->nparam + copy->n_in + copy->n_out + copy->n_div;
isl_seq_clr(copy->ineq[k]+len, total - len);
isl_inequality_negate(copy, k);
copy = isl_basic_map_simplify(copy);
goto error;
isl_seq_cpy(map->p[j]->eq[k], bmap->eq[i], 1+total);
isl_seq_clr(map->p[j]->eq[k]+1+total,
- map->p[j]->extra - bmap->n_div);
+ map->p[j]->n_div - bmap->n_div);
}
}
goto error;
isl_seq_cpy(map->p[j]->ineq[k], bmap->ineq[i], 1+total);
isl_seq_clr(map->p[j]->ineq[k]+1+total,
- map->p[j]->extra - bmap->n_div);
+ map->p[j]->n_div - bmap->n_div);
}
}