reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1515 if (!aff) 1518 if (isl_aff_is_nan(aff)) 1519 return aff; 1520 if (isl_int_is_one(aff->v->el[0])) 1521 return aff; 1523 aff = isl_aff_cow(aff); 1523 aff = isl_aff_cow(aff); 1524 if (!aff) 1527 aff->v = isl_vec_cow(aff->v); 1527 aff->v = isl_vec_cow(aff->v); 1528 if (!aff->v) 1529 return isl_aff_free(aff); 1531 if (isl_aff_is_cst(aff)) { 1532 isl_int_fdiv_q(aff->v->el[1], aff->v->el[1], aff->v->el[0]); 1532 isl_int_fdiv_q(aff->v->el[1], aff->v->el[1], aff->v->el[0]); 1532 isl_int_fdiv_q(aff->v->el[1], aff->v->el[1], aff->v->el[0]); 1533 isl_int_set_si(aff->v->el[0], 1); 1534 return aff; 1537 div = isl_vec_copy(aff->v); 1540 return isl_aff_free(aff); 1542 ctx = isl_aff_get_ctx(aff); 1543 isl_int_fdiv_q(aff->v->el[0], aff->v->el[0], ctx->two); 1543 isl_int_fdiv_q(aff->v->el[0], aff->v->el[0], ctx->two); 1544 for (i = 1; i < aff->v->size; ++i) { 1546 isl_int_fdiv_q(aff->v->el[i], aff->v->el[i], div->el[0]); 1546 isl_int_fdiv_q(aff->v->el[i], aff->v->el[i], div->el[0]); 1547 if (isl_int_gt(div->el[i], aff->v->el[0])) { 1549 isl_int_add_ui(aff->v->el[i], aff->v->el[i], 1); 1549 isl_int_add_ui(aff->v->el[i], aff->v->el[i], 1); 1553 aff->ls = isl_local_space_add_div(aff->ls, div); 1553 aff->ls = isl_local_space_add_div(aff->ls, div); 1554 if (!aff->ls) 1555 return isl_aff_free(aff); 1557 size = aff->v->size; 1558 aff->v = isl_vec_extend(aff->v, size + 1); 1558 aff->v = isl_vec_extend(aff->v, size + 1); 1559 if (!aff->v) 1560 return isl_aff_free(aff); 1561 isl_int_set_si(aff->v->el[0], 1); 1562 isl_int_set_si(aff->v->el[size], 1); 1564 aff = isl_aff_normalize(aff); 1564 aff = isl_aff_normalize(aff); 1566 return aff;