- isl_int_init(stride2);
- isl_int_init(a);
- isl_int_init(b);
- isl_int_init(g);
-
- isl_vec_get_element(build->strides, pos, &stride2);
- isl_int_gcdext(g, a, b, stride, stride2);
- isl_int_mul(a, a, stride);
- isl_int_divexact(a, a, g);
- isl_int_divexact(stride2, stride2, g);
- isl_int_mul(b, b, stride2);
- isl_int_mul(stride, stride, stride2);
+ stride2 = isl_vec_get_element_val(build->strides, pos);
+ g = isl_val_gcdext(isl_val_copy(stride), isl_val_copy(stride2),
+ &a, &b);
+ a = isl_val_mul(a, isl_val_copy(stride));
+ a = isl_val_div(a, isl_val_copy(g));
+ stride2 = isl_val_div(stride2, g);
+ b = isl_val_mul(b, isl_val_copy(stride2));
+ stride = isl_val_mul(stride, stride2);