Lines Matching refs:grid
1511 /* Replace each entry in the n by n grid of maps by the cross product
1514 static isl_stat add_length(__isl_keep isl_map *map, isl_map ***grid, int n)
1528 grid[i][j] = isl_map_product(grid[i][j],
1547 static void floyd_warshall_iterate(isl_map ***grid, int n, isl_bool *exact)
1554 grid[r][r] = isl_map_transitive_closure(grid[r][r],
1565 isl_map_copy(grid[p][r]),
1566 isl_map_copy(grid[r][q]));
1567 grid[p][q] = isl_map_union(grid[p][q], loop);
1569 isl_map_copy(grid[p][r]),
1571 isl_map_copy(grid[r][r]),
1572 isl_map_copy(grid[r][q])));
1573 grid[p][q] = isl_map_union(grid[p][q], loop);
1574 grid[p][q] = isl_map_coalesce(grid[p][q]);
1603 isl_map ***grid = NULL;
1614 grid = isl_calloc_array(map->ctx, isl_map **, n);
1615 if (!grid)
1618 grid[i] = isl_calloc_array(map->ctx, isl_map *, n);
1619 if (!grid[i])
1622 grid[i][j] = isl_map_empty(isl_map_get_space(map));
1628 grid[i][j] = isl_map_union(grid[i][j],
1633 if (!project && add_length(map, grid, n) < 0)
1636 floyd_warshall_iterate(grid, n, exact);
1638 app = isl_map_empty(isl_map_get_space(grid[0][0]));
1642 app = isl_map_union(app, grid[i][j]);
1643 free(grid[i]);
1645 free(grid);
1652 if (grid)
1654 if (!grid[i])
1657 isl_map_free(grid[i][j]);
1658 free(grid[i]);
1660 free(grid);
2623 * grid have domains and ranges of the same dimension and so
2635 isl_map ***grid = NULL;
2642 grid = isl_calloc_array(ctx, isl_map **, n_group);
2643 if (!grid)
2646 grid[i] = isl_calloc_array(ctx, isl_map *, n_group);
2647 if (!grid[i])
2654 grid[i][j] = isl_map_empty(space);
2661 grid[i][j] = isl_map_union(grid[i][j],
2666 floyd_warshall_iterate(grid, n_group, exact);
2668 app = isl_union_map_empty(isl_map_get_space(grid[0][0]));
2672 app = isl_union_map_add_map(app, grid[i][j]);
2673 free(grid[i]);
2675 free(grid);
2684 if (grid)
2686 if (!grid[i])
2689 isl_map_free(grid[i][j]);
2690 free(grid[i]);
2692 free(grid);