-
- unsigned int i = 0, cur_dim_size = 1, dim_size_product = 1;
- unsigned int* coords = (unsigned int*)malloc(xbt_dynar_length(dimensions) * sizeof(unsigned int));
- for (i = 0; i < xbt_dynar_length(dimensions); i++) {
- cur_dim_size = xbt_dynar_get_as(dimensions, i, int);
- coords[i] = (rankId / dim_size_product) % cur_dim_size;
+ unsigned int dim_size_product = 1;
+ unsigned int i = 0;
+ for (auto cur_dim_size: dimensions) {
+ (*coords)[i] = (rankId / dim_size_product) % cur_dim_size;