Polly 22.0.0git
isl_map_subtract.c File Reference
#include <isl_map_private.h>
#include <isl_seq.h>
#include <isl/set.h>
#include <isl/map.h>
#include "isl_tab.h"
#include <isl_point_private.h>
#include <isl_vec_private.h>
#include <set_to_map.c>
#include <set_from_map.c>

Go to the source code of this file.

Classes

struct  isl_diff_collector
struct  isl_subtract_diff_collector
struct  isl_is_empty_diff_collector

Functions

static void expand_constraint (isl_vec *v, unsigned dim, isl_int *c, int *div_map, unsigned n_div)
static isl_stat tab_add_constraints (struct isl_tab *tab, __isl_keep isl_basic_map *bmap, int *div_map)
static isl_stat tab_add_constraint (struct isl_tab *tab, __isl_keep isl_basic_map *bmap, int *div_map, int c, int oppose)
static isl_stat tab_add_divs (struct isl_tab *tab, __isl_keep isl_basic_map *bmap, int **div_map)
static int tab_freeze_constraints (struct isl_tab *tab)
static int n_non_redundant (isl_ctx *ctx, struct isl_tab *tab, int offset, int **index)
static isl_stat basic_map_collect_diff (__isl_take isl_basic_map *bmap, __isl_take isl_map *map, struct isl_diff_collector *dc)
static isl_stat basic_map_subtract_add (struct isl_diff_collector *dc, __isl_take isl_basic_map *bmap)
static __isl_give isl_mapbasic_map_subtract (__isl_take isl_basic_map *bmap, __isl_take isl_map *map)
static __isl_give isl_mapreplace_pair_by_empty (__isl_take isl_map *map1, __isl_take isl_map *map2)
__isl_give isl_mapisl_map_subtract (__isl_take isl_map *map1, __isl_take isl_map *map2)
__isl_give isl_setisl_set_subtract (__isl_take isl_set *set1, __isl_take isl_set *set2)
__isl_give isl_mapisl_map_subtract_domain (__isl_take isl_map *map, __isl_take isl_set *dom)
__isl_give isl_mapisl_map_subtract_range (__isl_take isl_map *map, __isl_take isl_set *dom)
static isl_stat basic_map_is_empty_add (struct isl_diff_collector *dc, __isl_take isl_basic_map *bmap)
static isl_bool basic_map_diff_is_empty (__isl_keep isl_basic_map *bmap, __isl_keep isl_map *map)
static isl_bool map_diff_is_empty (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
isl_bool isl_basic_map_plain_is_singleton (__isl_keep isl_basic_map *bmap)
isl_bool isl_map_plain_is_singleton (__isl_keep isl_map *map)
static __isl_give isl_pointsingleton_extract_point (__isl_keep isl_basic_map *bmap)
static isl_bool map_is_singleton_subset (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
static isl_bool map_is_subset (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
isl_bool isl_map_is_subset (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
isl_bool isl_set_is_subset (__isl_keep isl_set *set1, __isl_keep isl_set *set2)
__isl_give isl_mapisl_map_make_disjoint (__isl_take isl_map *map)
__isl_give isl_setisl_set_make_disjoint (__isl_take isl_set *set)
__isl_give isl_mapisl_map_complement (__isl_take isl_map *map)
__isl_give isl_setisl_set_complement (__isl_take isl_set *set)

Function Documentation

◆ basic_map_collect_diff()

◆ basic_map_diff_is_empty()

◆ basic_map_is_empty_add()

◆ basic_map_subtract()

◆ basic_map_subtract_add()

◆ expand_constraint()

void expand_constraint ( isl_vec * v,
unsigned dim,
isl_int * c,
int * div_map,
unsigned n_div )
static

◆ isl_basic_map_plain_is_singleton()

isl_bool isl_basic_map_plain_is_singleton ( __isl_keep isl_basic_map * bmap)

◆ isl_map_complement()

◆ isl_map_is_subset()

◆ isl_map_make_disjoint()

◆ isl_map_plain_is_singleton()

isl_bool isl_map_plain_is_singleton ( __isl_keep isl_map * map)

◆ isl_map_subtract()

◆ isl_map_subtract_domain()

◆ isl_map_subtract_range()

◆ isl_set_complement()

◆ isl_set_is_subset()

◆ isl_set_make_disjoint()

◆ isl_set_subtract()

◆ map_diff_is_empty()

isl_bool map_diff_is_empty ( __isl_keep isl_map * map1,
__isl_keep isl_map * map2 )
static

Definition at line 694 of file isl_map_subtract.c.

References __isl_keep, basic_map_diff_is_empty(), isl_bool_error, isl_bool_true, map1, and map2.

Referenced by map_is_subset().

◆ map_is_singleton_subset()

◆ map_is_subset()

◆ n_non_redundant()

int n_non_redundant ( isl_ctx * ctx,
struct isl_tab * tab,
int offset,
int ** index )
static

◆ replace_pair_by_empty()

__isl_give isl_map * replace_pair_by_empty ( __isl_take isl_map * map1,
__isl_take isl_map * map2 )
static

◆ singleton_extract_point()

◆ tab_add_constraint()

◆ tab_add_constraints()

◆ tab_add_divs()

◆ tab_freeze_constraints()

int tab_freeze_constraints ( struct isl_tab * tab)
static

Definition at line 226 of file isl_map_subtract.c.

References isl_tab_freeze_constraint(), and isl_tab::n_con.

Referenced by basic_map_collect_diff().