Polly 19.0.0git
Classes | Functions
isl_map_simplify.c File Reference
#include <isl_ctx_private.h>
#include <isl_map_private.h>
#include "isl_equalities.h"
#include <isl/map.h>
#include <isl_seq.h>
#include "isl_tab.h"
#include <isl_space_private.h>
#include <isl_mat_private.h>
#include <isl_vec_private.h>
#include <bset_to_bmap.c>
#include <bset_from_bmap.c>
#include <set_to_map.c>
#include <set_from_map.c>

Go to the source code of this file.

Classes

struct  isl_constraint_index
 
struct  test_ineq_data
 

Functions

static void swap_equality (__isl_keep isl_basic_map *bmap, int a, int b)
 
static void swap_inequality (__isl_keep isl_basic_map *bmap, int a, int b)
 
__isl_give isl_basic_mapisl_basic_map_normalize_constraints (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_setisl_basic_set_normalize_constraints (__isl_take isl_basic_set *bset)
 
static __isl_give isl_basic_mapreduce_coefficient_in_div (__isl_take isl_basic_map *bmap, int div, int pos)
 
static isl_bool needs_reduction (__isl_keep isl_basic_map *bmap, int div, int pos)
 
static __isl_give isl_basic_mapreduce_div_coefficients_of_div (__isl_take isl_basic_map *bmap, int div)
 
static __isl_give isl_basic_mapreduce_div_coefficients (__isl_take isl_basic_map *bmap)
 
static __isl_give isl_basic_mapnormalize_div_expression (__isl_take isl_basic_map *bmap, int div)
 
static __isl_give isl_basic_mapnormalize_div_expressions (__isl_take isl_basic_map *bmap)
 
static __isl_give isl_basic_mapeliminate_var_using_equality (__isl_take isl_basic_map *bmap, unsigned pos, isl_int *eq, int keep_divs, int *progress)
 
static __isl_give isl_basic_mapeliminate_div (__isl_take isl_basic_map *bmap, isl_int *eq, unsigned div, int keep_divs)
 
static isl_bool ok_to_eliminate_div (__isl_keep isl_basic_map *bmap, isl_int *eq, unsigned div)
 
static __isl_give isl_basic_mapeliminate_divs_eq (__isl_take isl_basic_map *bmap, int *progress)
 
static __isl_give isl_basic_mapeliminate_divs_ineq (__isl_take isl_basic_map *bmap, int *progress)
 
static isl_bool bmap_eq_involves_unknown_divs (__isl_keep isl_basic_map *bmap, int eq, unsigned first, unsigned n)
 
static __isl_give isl_basic_mapset_div_from_eq (__isl_take isl_basic_map *bmap, int div, int eq, int *progress)
 
__isl_give isl_basic_mapisl_basic_map_gauss5 (__isl_take isl_basic_map *bmap, int *progress, isl_stat(*swap)(unsigned a, unsigned b, void *user), isl_stat(*drop)(unsigned n, void *user), void *user)
 
__isl_give isl_basic_mapisl_basic_map_gauss (__isl_take isl_basic_map *bmap, int *progress)
 
__isl_give isl_basic_setisl_basic_set_gauss (__isl_take isl_basic_set *bset, int *progress)
 
static unsigned int round_up (unsigned int v)
 
static isl_stat create_constraint_index (struct isl_constraint_index *ci, __isl_keep isl_basic_map *bmap)
 
static void constraint_index_free (struct isl_constraint_index *ci)
 
static int hash_index_ineq (struct isl_constraint_index *ci, isl_int **ineq)
 
static int hash_index (struct isl_constraint_index *ci, __isl_keep isl_basic_map *bmap, int k)
 
static int set_hash_index (struct isl_constraint_index *ci, __isl_keep isl_basic_set *bset, int k)
 
static isl_stat setup_constraint_index (struct isl_constraint_index *ci, __isl_keep isl_basic_set *bset)
 
static isl_bool constraint_index_is_redundant (struct isl_constraint_index *ci, isl_int *ineq)
 
static __isl_give isl_basic_mapremove_duplicate_divs (__isl_take isl_basic_map *bmap, int *progress)
 
static int n_pure_div_eq (__isl_keep isl_basic_map *bmap)
 
static __isl_give isl_basic_mapnormalize_divs (__isl_take isl_basic_map *bmap, int *progress)
 
static __isl_give isl_basic_mapset_div_from_lower_bound (__isl_take isl_basic_map *bmap, int div, int ineq)
 
static isl_bool ok_to_set_div_from_bound (__isl_keep isl_basic_map *bmap, int div, int ineq)
 
static isl_bool better_div_constraint (__isl_keep isl_basic_map *bmap, int div, int ineq)
 
static __isl_give isl_basic_mapcheck_for_div_constraints (__isl_take isl_basic_map *bmap, int k, int l, isl_int sum, int *progress)
 
__isl_give isl_basic_mapisl_basic_map_remove_duplicate_constraints (__isl_take isl_basic_map *bmap, int *progress, int detect_divs)
 
__isl_give isl_basic_mapisl_basic_map_detect_inequality_pairs (__isl_take isl_basic_map *bmap, int *progress)
 
static __isl_give isl_basic_mapeliminate_unit_div (__isl_take isl_basic_map *bmap, int div, int *progress)
 
static __isl_give isl_basic_mapeliminate_selected_unit_divs (__isl_take isl_basic_map *bmap, isl_bool(*select)(__isl_keep isl_basic_map *bmap, int div), int *progress)
 
static isl_bool is_any_div (__isl_keep isl_basic_map *bmap, int div)
 
static __isl_give isl_basic_mapeliminate_unit_divs (__isl_take isl_basic_map *bmap, int *progress)
 
static isl_bool is_pure_unit_div (__isl_keep isl_basic_map *bmap, int div)
 
__isl_give isl_basic_mapisl_basic_map_eliminate_pure_unit_divs (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_mapisl_basic_map_simplify (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_setisl_basic_set_simplify (__isl_take isl_basic_set *bset)
 
isl_bool isl_basic_map_is_div_constraint (__isl_keep isl_basic_map *bmap, isl_int *constraint, unsigned div)
 
static isl_bool div_is_redundant (__isl_keep isl_basic_map *bmap, int div)
 
static __isl_give isl_basic_mapremove_redundant_divs (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_mapisl_basic_map_mark_final (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_mapisl_basic_map_finalize (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_setisl_basic_set_finalize (__isl_take isl_basic_set *bset)
 
static __isl_give isl_basic_mapremove_dependent_vars (__isl_take isl_basic_map *bmap, int pos)
 
__isl_give isl_basic_mapisl_basic_map_eliminate_vars (__isl_take isl_basic_map *bmap, unsigned pos, unsigned n)
 
__isl_give isl_basic_setisl_basic_set_eliminate_vars (__isl_take isl_basic_set *bset, unsigned pos, unsigned n)
 
__isl_give isl_basic_mapisl_basic_map_eliminate (__isl_take isl_basic_map *bmap, enum isl_dim_type type, unsigned first, unsigned n)
 
__isl_give isl_basic_setisl_basic_set_eliminate (__isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned first, unsigned n)
 
__isl_give isl_basic_mapisl_basic_map_drop_constraints_involving_unknown_divs (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_setisl_basic_set_drop_constraints_involving_unknown_divs (__isl_take isl_basic_set *bset)
 
__isl_give isl_mapisl_map_drop_constraints_involving_unknown_divs (__isl_take isl_map *map)
 
static void compute_elimination_index (__isl_keep isl_basic_map *bmap, int *elim, unsigned len)
 
static void set_compute_elimination_index (__isl_keep isl_basic_set *bset, int *elim, unsigned len)
 
static int reduced_using_equalities (isl_int *dst, isl_int *src, __isl_keep isl_basic_map *bmap, int *elim, unsigned total)
 
static int set_reduced_using_equalities (isl_int *dst, isl_int *src, __isl_keep isl_basic_set *bset, int *elim, unsigned total)
 
static __isl_give isl_basic_setisl_basic_set_reduce_using_equalities (__isl_take isl_basic_set *bset, __isl_take isl_basic_set *context)
 
static isl_stat mark_shifted_constraints (__isl_keep isl_mat *ineq, __isl_keep isl_basic_set *context, int *row)
 
static __isl_give isl_basic_setremove_shifted_constraints (__isl_take isl_basic_set *bset, __isl_keep isl_basic_set *context)
 
static __isl_give isl_basic_mapisl_basic_map_remove_shifted_constraints (__isl_take isl_basic_map *bmap, __isl_take isl_basic_map *context)
 
static int is_related (isl_int *c, int len, int *relevant)
 
static __isl_give isl_basic_mapdrop_unrelated_constraints (__isl_take isl_basic_map *bmap, int *relevant)
 
static void update_groups (int dim, int *group, isl_int *c)
 
static int * alloc_groups (__isl_keep isl_basic_set *context)
 
__isl_give isl_basic_mapisl_basic_map_drop_unrelated_constraints (__isl_take isl_basic_map *bmap, __isl_take int *group)
 
static __isl_give isl_basic_setdrop_irrelevant_constraints (__isl_take isl_basic_set *context, __isl_keep isl_basic_set *bset)
 
static __isl_give isl_basic_setdrop_irrelevant_constraints_marked (__isl_take isl_basic_set *context, __isl_keep isl_mat *ineq, int *row)
 
static int all_neg (int *row, int n)
 
static __isl_give isl_basic_setupdate_ineq (__isl_take isl_basic_set *bset, __isl_keep int *row, struct isl_tab *tab)
 
static __isl_give isl_basic_setupdate_ineq_free (__isl_take isl_basic_set *bset, __isl_take isl_mat *ineq, __isl_take isl_basic_set *context, __isl_take int *row, struct isl_tab *tab)
 
static __isl_give isl_basic_setuset_gist_full (__isl_take isl_basic_set *bset, __isl_take isl_mat *ineq, __isl_take isl_basic_set *context)
 
static __isl_give isl_matextract_ineq (__isl_keep isl_basic_set *bset)
 
static __isl_give isl_basic_setuset_gist_uncompressed (__isl_take isl_basic_set *bset, __isl_take isl_basic_set *context)
 
static __isl_give isl_basic_setreplace_by_empty (__isl_take isl_basic_set *bset)
 
static __isl_give isl_basic_setuset_gist_compressed (__isl_take isl_basic_set *bset, __isl_take isl_basic_set *context, __isl_take isl_mat *T)
 
static __isl_give isl_basic_setproject_onto_involved (__isl_take isl_basic_set *bset, __isl_keep isl_basic_set *template)
 
static __isl_give isl_basic_setuset_gist (__isl_take isl_basic_set *bset, __isl_take isl_basic_set *context)
 
static int n_div_eq (__isl_keep isl_basic_map *bmap)
 
static __isl_give isl_basic_mapbasic_map_from_equalities (__isl_take isl_space *space, __isl_take isl_mat *eq)
 
static __isl_give isl_matcombined_variable_compression (__isl_keep isl_basic_map *bmap1, int n1, __isl_keep isl_basic_map *bmap2, int n2, int total)
 
static __isl_give isl_matextract_compressed_stride_constraints (__isl_keep isl_basic_map *bmap, int bmap_n_eq, __isl_keep isl_basic_map *context, int context_n_eq)
 
static void remove_incomplete_powers (isl_int *g, isl_int c)
 
static __isl_give isl_basic_mapreduce_stride_constraints (__isl_take isl_basic_map *bmap, int n, __isl_keep isl_mat *A)
 
static __isl_give isl_basic_mapgist_strides (__isl_take isl_basic_map *bmap, __isl_keep isl_basic_map *context)
 
__isl_give isl_basic_mapisl_basic_map_gist (__isl_take isl_basic_map *bmap, __isl_take isl_basic_map *context)
 
__isl_give isl_mapisl_map_gist_basic_map (__isl_take isl_map *map, __isl_take isl_basic_map *context)
 
static __isl_give isl_basic_mapdrop_inequalities (__isl_take isl_basic_map *bmap, __isl_keep isl_basic_map *context)
 
static __isl_give isl_basic_mapdrop_equalities (__isl_take isl_basic_map *bmap, __isl_keep isl_basic_map *context)
 
__isl_give isl_basic_mapisl_basic_map_plain_gist (__isl_take isl_basic_map *bmap, __isl_take isl_basic_map *context)
 
static __isl_give isl_mapreplace_by_disjunct (__isl_take isl_map *map, int pos, __isl_take isl_basic_map *context)
 
__isl_give isl_mapisl_map_plain_gist_basic_map (__isl_take isl_map *map, __isl_take isl_basic_map *context)
 
__isl_give isl_setisl_set_plain_gist_basic_set (__isl_take isl_set *set, __isl_take isl_basic_set *context)
 
__isl_give isl_mapisl_map_plain_gist (__isl_take isl_map *map, __isl_take isl_map *context)
 
static __isl_give isl_mapreplace_by_universe (__isl_take isl_map *map, __isl_take isl_map *drop)
 
__isl_give isl_mapisl_map_gist (__isl_take isl_map *map, __isl_take isl_map *context)
 
__isl_give isl_basic_setisl_basic_set_gist (__isl_take isl_basic_set *bset, __isl_take isl_basic_set *context)
 
__isl_give isl_setisl_set_gist_basic_set (__isl_take isl_set *set, __isl_take isl_basic_set *context)
 
__isl_give isl_setisl_set_gist_params_basic_set (__isl_take isl_set *set, __isl_take isl_basic_set *context)
 
__isl_give isl_setisl_set_gist (__isl_take isl_set *set, __isl_take isl_set *context)
 
__isl_give isl_basic_mapisl_basic_map_gist_domain (__isl_take isl_basic_map *bmap, __isl_take isl_basic_set *context)
 
__isl_give isl_mapisl_map_gist_domain (__isl_take isl_map *map, __isl_take isl_set *context)
 
__isl_give isl_mapisl_map_gist_range (__isl_take isl_map *map, __isl_take isl_set *context)
 
__isl_give isl_mapisl_map_gist_params (__isl_take isl_map *map, __isl_take isl_set *context)
 
__isl_give isl_setisl_set_gist_params (__isl_take isl_set *set, __isl_take isl_set *context)
 
isl_bool isl_basic_map_plain_is_disjoint (__isl_keep isl_basic_map *bmap1, __isl_keep isl_basic_map *bmap2)
 
int isl_basic_set_plain_is_disjoint (__isl_keep isl_basic_set *bset1, __isl_keep isl_basic_set *bset2)
 
static isl_bool all_pairs (__isl_keep isl_map *map1, __isl_keep isl_map *map2, isl_bool(*test)(__isl_keep isl_basic_map *bmap1, __isl_keep isl_basic_map *bmap2))
 
static isl_bool isl_map_plain_is_disjoint_global (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
 
isl_bool isl_map_plain_is_disjoint (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
 
static isl_bool isl_map_is_disjoint_aligned (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
 
isl_bool isl_map_is_disjoint (__isl_keep isl_map *map1, __isl_keep isl_map *map2)
 
isl_bool isl_basic_map_is_disjoint (__isl_keep isl_basic_map *bmap1, __isl_keep isl_basic_map *bmap2)
 
isl_bool isl_basic_set_is_disjoint (__isl_keep isl_basic_set *bset1, __isl_keep isl_basic_set *bset2)
 
isl_bool isl_set_plain_is_disjoint (__isl_keep isl_set *set1, __isl_keep isl_set *set2)
 
isl_bool isl_set_is_disjoint (__isl_keep isl_set *set1, __isl_keep isl_set *set2)
 
static int is_zero_or_one (isl_int v)
 
static int is_opposite_part (__isl_keep isl_basic_map *bmap, int i, int j, int first, int n)
 
static isl_bool is_opposite (__isl_keep isl_basic_map *bmap, int i, int j)
 
static int div_find_coalesce (__isl_keep isl_basic_map *bmap, int *pairs, unsigned div, unsigned l, unsigned u)
 
static void test_ineq_data_clear (struct test_ineq_data *data)
 
static isl_bool test_ineq_is_satisfied (__isl_keep isl_basic_map *bmap, struct test_ineq_data *data)
 
static isl_bool int_between_bounds (__isl_keep isl_basic_map *bmap, int i, int l, int u, struct test_ineq_data *data)
 
static __isl_give isl_basic_mapdrop_more_redundant_divs (__isl_take isl_basic_map *bmap, __isl_take int *pairs, int n)
 
static __isl_give isl_basic_mapcoalesce_divs (__isl_take isl_basic_map *bmap, unsigned div1, unsigned div2, unsigned l, unsigned u)
 
static __isl_give isl_basic_mapcoalesce_or_drop_more_redundant_divs (__isl_take isl_basic_map *bmap, int *pairs, int n)
 
static int is_parallel_part (__isl_keep isl_basic_map *bmap, int i, int j, int first, int n)
 
static isl_bool is_parallel_except (__isl_keep isl_basic_map *bmap, int i, int j, int pos)
 
static isl_bool is_opposite_except (__isl_keep isl_basic_map *bmap, int i, int j, int pos)
 
static __isl_give isl_basic_mapdrop_redundant_divs_again (__isl_take isl_basic_map *bmap, __isl_take int *pairs, int simplify)
 
static isl_bool single_unknown (__isl_keep isl_basic_map *bmap, int ineq, int div)
 
static isl_bool has_coef_one (__isl_keep isl_basic_map *bmap, int div, int ineq)
 
static __isl_give isl_basic_mapset_eq_and_try_again (__isl_take isl_basic_map *bmap, int ineq, __isl_take int *pairs)
 
static __isl_give isl_basic_mapdrop_div_and_try_again (__isl_take isl_basic_map *bmap, int div, int ineq1, int ineq2, __isl_take int *pairs)
 
static void lower_bound_from_parallel (__isl_keep isl_basic_map *bmap, int ineq, int lower, int pos, isl_int *l)
 
static void lower_bound_from_opposite (__isl_keep isl_basic_map *bmap, int ineq, int upper, int pos, isl_int *u)
 
static int lower_bound_is_cst (__isl_keep isl_basic_map *bmap, int div, int ineq)
 
static __isl_give isl_basic_mapfix_cst_lower (__isl_take isl_basic_map *bmap, int div, int ineq, int lower, int *pairs)
 
static isl_bool any_div_involves_div (__isl_keep isl_basic_map *bmap, int div)
 
static __isl_give isl_basic_mapisl_basic_map_drop_redundant_divs_ineq (__isl_take isl_basic_map *bmap)
 
static isl_stat preimage (isl_int *c, __isl_keep isl_mat *T)
 
static __isl_give isl_basic_mapisl_basic_map_preimage_vars (__isl_take isl_basic_map *bmap, unsigned pos, __isl_take isl_mat *T)
 
__isl_give isl_basic_mapisl_basic_map_drop_redundant_divs (__isl_take isl_basic_map *bmap)
 
static isl_bool has_multiple_var_equality (__isl_keep isl_basic_map *bmap)
 
static __isl_give isl_vecnormalize_constraint (__isl_take isl_vec *v, int *tightened)
 
__isl_give isl_basic_mapisl_basic_map_reduce_coefficients (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_mapisl_basic_map_shift_div (__isl_take isl_basic_map *bmap, int div, int pos, isl_int shift)
 

Function Documentation

◆ all_neg()

static int all_neg ( int *  row,
int  n 
)
static

Definition at line 2418 of file isl_map_simplify.c.

References n.

Referenced by extract_stride_constraint(), and uset_gist_full().

◆ all_pairs()

static isl_bool all_pairs ( __isl_keep isl_map map1,
__isl_keep isl_map map2,
isl_bool(*)(__isl_keep isl_basic_map *bmap1, __isl_keep isl_basic_map *bmap2)  test 
)
static

Definition at line 3884 of file isl_map_simplify.c.

References isl_bool_error, isl_bool_true, map1, map2, and test.

Referenced by isl_map_is_disjoint_aligned(), and isl_map_plain_is_disjoint().

◆ alloc_groups()

static int * alloc_groups ( __isl_keep isl_basic_set context)
static

◆ any_div_involves_div()

static isl_bool any_div_involves_div ( __isl_keep isl_basic_map bmap,
int  div 
)
static

◆ basic_map_from_equalities()

static __isl_give isl_basic_map * basic_map_from_equalities ( __isl_take isl_space space,
__isl_take isl_mat eq 
)
static

◆ better_div_constraint()

static isl_bool better_div_constraint ( __isl_keep isl_basic_map bmap,
int  div,
int  ineq 
)
static

◆ bmap_eq_involves_unknown_divs()

static isl_bool bmap_eq_involves_unknown_divs ( __isl_keep isl_basic_map bmap,
int  eq,
unsigned  first,
unsigned  n 
)
static

◆ check_for_div_constraints()

static __isl_give isl_basic_map * check_for_div_constraints ( __isl_take isl_basic_map bmap,
int  k,
int  l,
isl_int  sum,
int *  progress 
)
static

◆ coalesce_divs()

static __isl_give isl_basic_map * coalesce_divs ( __isl_take isl_basic_map bmap,
unsigned  div1,
unsigned  div2,
unsigned  l,
unsigned  u 
)
static

◆ coalesce_or_drop_more_redundant_divs()

static __isl_give isl_basic_map * coalesce_or_drop_more_redundant_divs ( __isl_take isl_basic_map bmap,
int *  pairs,
int  n 
)
static

◆ combined_variable_compression()

static __isl_give isl_mat * combined_variable_compression ( __isl_keep isl_basic_map bmap1,
int  n1,
__isl_keep isl_basic_map bmap2,
int  n2,
int  total 
)
static

◆ compute_elimination_index()

static void compute_elimination_index ( __isl_keep isl_basic_map bmap,
int *  elim,
unsigned  len 
)
static

◆ constraint_index_free()

static void constraint_index_free ( struct isl_constraint_index ci)
static

◆ constraint_index_is_redundant()

static isl_bool constraint_index_is_redundant ( struct isl_constraint_index ci,
isl_int ineq 
)
static

◆ create_constraint_index()

static isl_stat create_constraint_index ( struct isl_constraint_index ci,
__isl_keep isl_basic_map bmap 
)
static

◆ div_find_coalesce()

static int div_find_coalesce ( __isl_keep isl_basic_map bmap,
int *  pairs,
unsigned  div,
unsigned  l,
unsigned  u 
)
static

◆ div_is_redundant()

static isl_bool div_is_redundant ( __isl_keep isl_basic_map bmap,
int  div 
)
static

◆ drop_div_and_try_again()

static __isl_give isl_basic_map * drop_div_and_try_again ( __isl_take isl_basic_map bmap,
int  div,
int  ineq1,
int  ineq2,
__isl_take int *  pairs 
)
static

◆ drop_equalities()

static __isl_give isl_basic_map * drop_equalities ( __isl_take isl_basic_map bmap,
__isl_keep isl_basic_map context 
)
static

◆ drop_inequalities()

static __isl_give isl_basic_map * drop_inequalities ( __isl_take isl_basic_map bmap,
__isl_keep isl_basic_map context 
)
static

◆ drop_irrelevant_constraints()

static __isl_give isl_basic_set * drop_irrelevant_constraints ( __isl_take isl_basic_set context,
__isl_keep isl_basic_set bset 
)
static

◆ drop_irrelevant_constraints_marked()

static __isl_give isl_basic_set * drop_irrelevant_constraints_marked ( __isl_take isl_basic_set context,
__isl_keep isl_mat ineq,
int *  row 
)
static

◆ drop_more_redundant_divs()

static __isl_give isl_basic_map * drop_more_redundant_divs ( __isl_take isl_basic_map bmap,
__isl_take int *  pairs,
int  n 
)
static

◆ drop_redundant_divs_again()

static __isl_give isl_basic_map * drop_redundant_divs_again ( __isl_take isl_basic_map bmap,
__isl_take int *  pairs,
int  simplify 
)
static

◆ drop_unrelated_constraints()

static __isl_give isl_basic_map * drop_unrelated_constraints ( __isl_take isl_basic_map bmap,
int *  relevant 
)
static

◆ eliminate_div()

static __isl_give isl_basic_map * eliminate_div ( __isl_take isl_basic_map bmap,
isl_int eq,
unsigned  div,
int  keep_divs 
)
static

◆ eliminate_divs_eq()

static __isl_give isl_basic_map * eliminate_divs_eq ( __isl_take isl_basic_map bmap,
int *  progress 
)
static

◆ eliminate_divs_ineq()

static __isl_give isl_basic_map * eliminate_divs_ineq ( __isl_take isl_basic_map bmap,
int *  progress 
)
static

◆ eliminate_selected_unit_divs()

static __isl_give isl_basic_map * eliminate_selected_unit_divs ( __isl_take isl_basic_map bmap,
isl_bool(*)(__isl_keep isl_basic_map *bmap, int div)  select,
int *  progress 
)
static

◆ eliminate_unit_div()

static __isl_give isl_basic_map * eliminate_unit_div ( __isl_take isl_basic_map bmap,
int  div,
int *  progress 
)
static

◆ eliminate_unit_divs()

static __isl_give isl_basic_map * eliminate_unit_divs ( __isl_take isl_basic_map bmap,
int *  progress 
)
static

Definition at line 1465 of file isl_map_simplify.c.

References eliminate_selected_unit_divs(), and is_any_div().

Referenced by isl_basic_map_simplify().

◆ eliminate_var_using_equality()

static __isl_give isl_basic_map * eliminate_var_using_equality ( __isl_take isl_basic_map bmap,
unsigned  pos,
isl_int eq,
int  keep_divs,
int *  progress 
)
static

◆ extract_compressed_stride_constraints()

static __isl_give isl_mat * extract_compressed_stride_constraints ( __isl_keep isl_basic_map bmap,
int  bmap_n_eq,
__isl_keep isl_basic_map context,
int  context_n_eq 
)
static

◆ extract_ineq()

static __isl_give isl_mat * extract_ineq ( __isl_keep isl_basic_set bset)
static

◆ fix_cst_lower()

static __isl_give isl_basic_map * fix_cst_lower ( __isl_take isl_basic_map bmap,
int  div,
int  ineq,
int  lower,
int *  pairs 
)
static

◆ gist_strides()

static __isl_give isl_basic_map * gist_strides ( __isl_take isl_basic_map bmap,
__isl_keep isl_basic_map context 
)
static

◆ has_coef_one()

static isl_bool has_coef_one ( __isl_keep isl_basic_map bmap,
int  div,
int  ineq 
)
static

◆ has_multiple_var_equality()

static isl_bool has_multiple_var_equality ( __isl_keep isl_basic_map bmap)
static

◆ hash_index()

static int hash_index ( struct isl_constraint_index ci,
__isl_keep isl_basic_map bmap,
int  k 
)
static

Definition at line 757 of file isl_map_simplify.c.

References hash_index_ineq().

Referenced by isl_basic_map_remove_duplicate_constraints(), and set_hash_index().

◆ hash_index_ineq()

static int hash_index_ineq ( struct isl_constraint_index ci,
isl_int **  ineq 
)
static

◆ int_between_bounds()

static isl_bool int_between_bounds ( __isl_keep isl_basic_map bmap,
int  i,
int  l,
int  u,
struct test_ineq_data data 
)
static

◆ is_any_div()

static isl_bool is_any_div ( __isl_keep isl_basic_map bmap,
int  div 
)
static

Definition at line 1455 of file isl_map_simplify.c.

References isl_bool_true.

Referenced by eliminate_unit_divs().

◆ is_opposite()

static isl_bool is_opposite ( __isl_keep isl_basic_map bmap,
int  i,
int  j 
)
static

◆ is_opposite_except()

static isl_bool is_opposite_except ( __isl_keep isl_basic_map bmap,
int  i,
int  j,
int  pos 
)
static

◆ is_opposite_part()

static int is_opposite_part ( __isl_keep isl_basic_map bmap,
int  i,
int  j,
int  first,
int  n 
)
static

Definition at line 4100 of file isl_map_simplify.c.

References isl_seq_is_neg(), and n.

Referenced by is_opposite(), and is_opposite_except().

◆ is_parallel_except()

static isl_bool is_parallel_except ( __isl_keep isl_basic_map bmap,
int  i,
int  j,
int  pos 
)
static

◆ is_parallel_part()

static int is_parallel_part ( __isl_keep isl_basic_map bmap,
int  i,
int  j,
int  first,
int  n 
)
static

Definition at line 4636 of file isl_map_simplify.c.

References isl_seq_eq(), and n.

Referenced by is_parallel_except().

◆ is_pure_unit_div()

static isl_bool is_pure_unit_div ( __isl_keep isl_basic_map bmap,
int  div 
)
static

◆ is_related()

static int is_related ( isl_int c,
int  len,
int *  relevant 
)
static

Definition at line 2173 of file isl_map_simplify.c.

References isl_int_is_zero.

Referenced by drop_unrelated_constraints().

◆ is_zero_or_one()

static int is_zero_or_one ( isl_int  v)
static

Definition at line 4092 of file isl_map_simplify.c.

References isl_int_is_negone, isl_int_is_one, and isl_int_is_zero.

Referenced by div_find_coalesce().

◆ isl_basic_map_detect_inequality_pairs()

__isl_give isl_basic_map * isl_basic_map_detect_inequality_pairs ( __isl_take isl_basic_map bmap,
int *  progress 
)

◆ isl_basic_map_drop_constraints_involving_unknown_divs()

__isl_give isl_basic_map * isl_basic_map_drop_constraints_involving_unknown_divs ( __isl_take isl_basic_map bmap)

◆ isl_basic_map_drop_redundant_divs()

__isl_give isl_basic_map * isl_basic_map_drop_redundant_divs ( __isl_take isl_basic_map bmap)

◆ isl_basic_map_drop_redundant_divs_ineq()

static __isl_give isl_basic_map * isl_basic_map_drop_redundant_divs_ineq ( __isl_take isl_basic_map bmap)
static

◆ isl_basic_map_drop_unrelated_constraints()

__isl_give isl_basic_map * isl_basic_map_drop_unrelated_constraints ( __isl_take isl_basic_map bmap,
__isl_take int *  group 
)

◆ isl_basic_map_eliminate()

__isl_give isl_basic_map * isl_basic_map_eliminate ( __isl_take isl_basic_map bmap,
enum isl_dim_type  type,
unsigned  first,
unsigned  n 
)

◆ isl_basic_map_eliminate_pure_unit_divs()

__isl_give isl_basic_map * isl_basic_map_eliminate_pure_unit_divs ( __isl_take isl_basic_map bmap)

Definition at line 1510 of file isl_map_simplify.c.

References eliminate_selected_unit_divs(), and is_pure_unit_div().

Referenced by fuse().

◆ isl_basic_map_eliminate_vars()

__isl_give isl_basic_map * isl_basic_map_eliminate_vars ( __isl_take isl_basic_map bmap,
unsigned  pos,
unsigned  n 
)

◆ isl_basic_map_finalize()

__isl_give isl_basic_map * isl_basic_map_finalize ( __isl_take isl_basic_map bmap)

Definition at line 1678 of file isl_map_simplify.c.

References isl_basic_map_mark_final(), and remove_redundant_divs().

Referenced by basic_map_bound(), basic_map_bound_si(), basic_map_collect_diff(), basic_map_read_polylib(), basic_replace_space_by_local_space(), box_closure_on_domain(), equate_parameter_to_length(), equator(), fuse(), get_aff(), greator(), isl_basic_map_add_known_div_constraints(), isl_basic_map_apply_range(), isl_basic_map_deltas_map(), isl_basic_map_detect_equalities(), isl_basic_map_domain_map(), isl_basic_map_domain_product(), isl_basic_map_drop(), isl_basic_map_eliminate(), isl_basic_map_equal(), isl_basic_map_fix_pos(), isl_basic_map_fix_pos_si(), isl_basic_map_floordiv(), isl_basic_map_from_aff2(), isl_basic_map_from_constraint_matrices(), isl_basic_map_from_qpolynomial(), isl_basic_map_insert_dims(), isl_basic_map_intersect(), isl_basic_map_intersect_domain(), isl_basic_map_intersect_range(), isl_basic_map_less_at(), isl_basic_map_less_or_equal_at(), isl_basic_map_more_at(), isl_basic_map_more_or_equal_at(), isl_basic_map_move_dims(), isl_basic_map_neg(), isl_basic_map_overlying_set(), isl_basic_map_plain_affine_hull(), isl_basic_map_plain_gist(), isl_basic_map_plain_unshifted_simple_hull(), isl_basic_map_preimage_multi_aff(), isl_basic_map_product(), isl_basic_map_project_out(), isl_basic_map_range_map(), isl_basic_map_range_product(), isl_basic_map_realign(), isl_basic_map_remove_divs(), isl_basic_map_reset_space(), isl_basic_map_set_dim_name(), isl_basic_map_set_rational(), isl_basic_map_set_to_empty(), isl_basic_map_set_tuple_id(), isl_basic_map_set_tuple_name(), isl_basic_map_sum(), isl_basic_map_swap_vars(), isl_basic_map_underlying_set(), isl_basic_map_universe(), isl_basic_map_wrap(), isl_basic_set_finalize(), isl_map_affine_hull(), isl_map_oppose(), map_intersect_add_constraint(), map_simple_hull(), path_along_delta(), path_along_steps(), set_path_length(), SF(), update_basic_maps(), var_equal(), var_less(), var_less_or_equal(), var_more(), and var_more_or_equal().

◆ isl_basic_map_gauss()

__isl_give isl_basic_map * isl_basic_map_gauss ( __isl_take isl_basic_map bmap,
int *  progress 
)

◆ isl_basic_map_gauss5()

__isl_give isl_basic_map * isl_basic_map_gauss5 ( __isl_take isl_basic_map bmap,
int *  progress,
isl_stat(*)(unsigned a, unsigned b, void *user swap,
isl_stat(*)(unsigned n, void *user drop,
void *  user 
)

◆ isl_basic_map_gist()

__isl_give isl_basic_map * isl_basic_map_gist ( __isl_take isl_basic_map bmap,
__isl_take isl_basic_map context 
)

◆ isl_basic_map_gist_domain()

__isl_give isl_basic_map * isl_basic_map_gist_domain ( __isl_take isl_basic_map bmap,
__isl_take isl_basic_set context 
)

◆ isl_basic_map_is_disjoint()

isl_bool isl_basic_map_is_disjoint ( __isl_keep isl_basic_map bmap1,
__isl_keep isl_basic_map bmap2 
)

◆ isl_basic_map_is_div_constraint()

isl_bool isl_basic_map_is_div_constraint ( __isl_keep isl_basic_map bmap,
isl_int constraint,
unsigned  div 
)

◆ isl_basic_map_mark_final()

__isl_give isl_basic_map * isl_basic_map_mark_final ( __isl_take isl_basic_map bmap)

◆ isl_basic_map_normalize_constraints()

__isl_give isl_basic_map * isl_basic_map_normalize_constraints ( __isl_take isl_basic_map bmap)

◆ isl_basic_map_plain_gist()

__isl_give isl_basic_map * isl_basic_map_plain_gist ( __isl_take isl_basic_map bmap,
__isl_take isl_basic_map context 
)

◆ isl_basic_map_plain_is_disjoint()

isl_bool isl_basic_map_plain_is_disjoint ( __isl_keep isl_basic_map bmap1,
__isl_keep isl_basic_map bmap2 
)

◆ isl_basic_map_preimage_vars()

static __isl_give isl_basic_map * isl_basic_map_preimage_vars ( __isl_take isl_basic_map bmap,
unsigned  pos,
__isl_take isl_mat T 
)
static

◆ isl_basic_map_reduce_coefficients()

__isl_give isl_basic_map * isl_basic_map_reduce_coefficients ( __isl_take isl_basic_map bmap)

◆ isl_basic_map_remove_duplicate_constraints()

__isl_give isl_basic_map * isl_basic_map_remove_duplicate_constraints ( __isl_take isl_basic_map bmap,
int *  progress,
int  detect_divs 
)

◆ isl_basic_map_remove_shifted_constraints()

static __isl_give isl_basic_map * isl_basic_map_remove_shifted_constraints ( __isl_take isl_basic_map bmap,
__isl_take isl_basic_map context 
)
static

◆ isl_basic_map_shift_div()

__isl_give isl_basic_map * isl_basic_map_shift_div ( __isl_take isl_basic_map bmap,
int  div,
int  pos,
isl_int  shift 
)

◆ isl_basic_map_simplify()

__isl_give isl_basic_map * isl_basic_map_simplify ( __isl_take isl_basic_map bmap)

◆ isl_basic_set_drop_constraints_involving_unknown_divs()

__isl_give isl_basic_set * isl_basic_set_drop_constraints_involving_unknown_divs ( __isl_take isl_basic_set bset)

◆ isl_basic_set_eliminate()

__isl_give isl_basic_set * isl_basic_set_eliminate ( __isl_take isl_basic_set bset,
enum isl_dim_type  type,
unsigned  first,
unsigned  n 
)

Definition at line 1852 of file isl_map_simplify.c.

References isl_basic_map_eliminate(), n, and type.

Referenced by update_enforced().

◆ isl_basic_set_eliminate_vars()

__isl_give isl_basic_set * isl_basic_set_eliminate_vars ( __isl_take isl_basic_set bset,
unsigned  pos,
unsigned  n 
)

◆ isl_basic_set_finalize()

__isl_give isl_basic_set * isl_basic_set_finalize ( __isl_take isl_basic_set bset)

◆ isl_basic_set_gauss()

__isl_give isl_basic_set * isl_basic_set_gauss ( __isl_take isl_basic_set bset,
int *  progress 
)

◆ isl_basic_set_gist()

__isl_give isl_basic_set * isl_basic_set_gist ( __isl_take isl_basic_set bset,
__isl_take isl_basic_set context 
)

◆ isl_basic_set_is_disjoint()

isl_bool isl_basic_set_is_disjoint ( __isl_keep isl_basic_set bset1,
__isl_keep isl_basic_set bset2 
)

Definition at line 4071 of file isl_map_simplify.c.

References isl_basic_map_is_disjoint().

Referenced by add_nodes(), and check_pairwise_disjoint().

◆ isl_basic_set_normalize_constraints()

__isl_give isl_basic_set * isl_basic_set_normalize_constraints ( __isl_take isl_basic_set bset)

Definition at line 107 of file isl_map_simplify.c.

References bset_from_bmap(), bset_to_bmap(), and isl_basic_map_normalize_constraints().

Referenced by affine_hull(), and extend().

◆ isl_basic_set_plain_is_disjoint()

int isl_basic_set_plain_is_disjoint ( __isl_keep isl_basic_set bset1,
__isl_keep isl_basic_set bset2 
)

Definition at line 3875 of file isl_map_simplify.c.

References bset_to_bmap(), and isl_basic_map_plain_is_disjoint().

◆ isl_basic_set_reduce_using_equalities()

static __isl_give isl_basic_set * isl_basic_set_reduce_using_equalities ( __isl_take isl_basic_set bset,
__isl_take isl_basic_set context 
)
static

◆ isl_basic_set_simplify()

__isl_give isl_basic_set * isl_basic_set_simplify ( __isl_take isl_basic_set bset)

◆ isl_map_drop_constraints_involving_unknown_divs()

__isl_give isl_map * isl_map_drop_constraints_involving_unknown_divs ( __isl_take isl_map map)

◆ isl_map_gist()

__isl_give isl_map * isl_map_gist ( __isl_take isl_map map,
__isl_take isl_map context 
)

◆ isl_map_gist_basic_map()

__isl_give isl_map * isl_map_gist_basic_map ( __isl_take isl_map map,
__isl_take isl_basic_map context 
)

◆ isl_map_gist_domain()

__isl_give isl_map * isl_map_gist_domain ( __isl_take isl_map map,
__isl_take isl_set context 
)

◆ isl_map_gist_params()

__isl_give isl_map * isl_map_gist_params ( __isl_take isl_map map,
__isl_take isl_set context 
)

◆ isl_map_gist_range()

__isl_give isl_map * isl_map_gist_range ( __isl_take isl_map map,
__isl_take isl_set context 
)

◆ isl_map_is_disjoint()

isl_bool isl_map_is_disjoint ( __isl_keep isl_map map1,
__isl_keep isl_map map2 
)

◆ isl_map_is_disjoint_aligned()

static isl_bool isl_map_is_disjoint_aligned ( __isl_keep isl_map map1,
__isl_keep isl_map map2 
)
static

Definition at line 3979 of file isl_map_simplify.c.

References all_pairs(), isl_basic_map_is_disjoint(), map1, and map2.

Referenced by isl_map_is_disjoint().

◆ isl_map_plain_gist()

__isl_give isl_map * isl_map_plain_gist ( __isl_take isl_map map,
__isl_take isl_map context 
)

◆ isl_map_plain_gist_basic_map()

__isl_give isl_map * isl_map_plain_gist_basic_map ( __isl_take isl_map map,
__isl_take isl_basic_map context 
)

◆ isl_map_plain_is_disjoint()

isl_bool isl_map_plain_is_disjoint ( __isl_keep isl_map map1,
__isl_keep isl_map map2 
)

◆ isl_map_plain_is_disjoint_global()

static isl_bool isl_map_plain_is_disjoint_global ( __isl_keep isl_map map1,
__isl_keep isl_map map2 
)
static

◆ isl_set_gist()

__isl_give isl_set * isl_set_gist ( __isl_take isl_set set,
__isl_take isl_set context 
)

◆ isl_set_gist_basic_set()

__isl_give isl_set * isl_set_gist_basic_set ( __isl_take isl_set set,
__isl_take isl_basic_set context 
)

◆ isl_set_gist_params()

__isl_give isl_set * isl_set_gist_params ( __isl_take isl_set set,
__isl_take isl_set context 
)

◆ isl_set_gist_params_basic_set()

__isl_give isl_set * isl_set_gist_params_basic_set ( __isl_take isl_set set,
__isl_take isl_basic_set context 
)

◆ isl_set_is_disjoint()

isl_bool isl_set_is_disjoint ( __isl_keep isl_set set1,
__isl_keep isl_set set2 
)

◆ isl_set_plain_gist_basic_set()

__isl_give isl_set * isl_set_plain_gist_basic_set ( __isl_take isl_set set,
__isl_take isl_basic_set context 
)

◆ isl_set_plain_is_disjoint()

isl_bool isl_set_plain_is_disjoint ( __isl_keep isl_set set1,
__isl_keep isl_set set2 
)

Definition at line 4077 of file isl_map_simplify.c.

References isl_map_plain_is_disjoint(), set1, set2, and set_to_map.

Referenced by compute_class_domains().

◆ lower_bound_from_opposite()

static void lower_bound_from_opposite ( __isl_keep isl_basic_map bmap,
int  ineq,
int  upper,
int  pos,
isl_int u 
)
static

Definition at line 4810 of file isl_map_simplify.c.

References isl_int_cdiv_q, isl_int_neg, isl_int_sub, and pos().

Referenced by lower_bound_is_cst().

◆ lower_bound_from_parallel()

static void lower_bound_from_parallel ( __isl_keep isl_basic_map bmap,
int  ineq,
int  lower,
int  pos,
isl_int l 
)
static

Definition at line 4786 of file isl_map_simplify.c.

References isl_int_add, isl_int_cdiv_q, isl_int_neg, and pos().

Referenced by fix_cst_lower(), and lower_bound_is_cst().

◆ lower_bound_is_cst()

static int lower_bound_is_cst ( __isl_keep isl_basic_map bmap,
int  div,
int  ineq 
)
static

◆ mark_shifted_constraints()

static isl_stat mark_shifted_constraints ( __isl_keep isl_mat ineq,
__isl_keep isl_basic_set context,
int *  row 
)
static

◆ n_div_eq()

static int n_div_eq ( __isl_keep isl_basic_map bmap)
static

◆ n_pure_div_eq()

static int n_pure_div_eq ( __isl_keep isl_basic_map bmap)
static

◆ needs_reduction()

static isl_bool needs_reduction ( __isl_keep isl_basic_map bmap,
int  div,
int  pos 
)
static

◆ normalize_constraint()

static __isl_give isl_vec * normalize_constraint ( __isl_take isl_vec v,
int *  tightened 
)
static

◆ normalize_div_expression()

static __isl_give isl_basic_map * normalize_div_expression ( __isl_take isl_basic_map bmap,
int  div 
)
static

◆ normalize_div_expressions()

static __isl_give isl_basic_map * normalize_div_expressions ( __isl_take isl_basic_map bmap)
static

Definition at line 283 of file isl_map_simplify.c.

References normalize_div_expression().

Referenced by isl_basic_map_simplify().

◆ normalize_divs()

static __isl_give isl_basic_map * normalize_divs ( __isl_take isl_basic_map bmap,
int *  progress 
)
static

◆ ok_to_eliminate_div()

static isl_bool ok_to_eliminate_div ( __isl_keep isl_basic_map bmap,
isl_int eq,
unsigned  div 
)
static

◆ ok_to_set_div_from_bound()

static isl_bool ok_to_set_div_from_bound ( __isl_keep isl_basic_map bmap,
int  div,
int  ineq 
)
static

◆ preimage()

static isl_stat preimage ( isl_int c,
__isl_keep isl_mat T 
)
static

◆ project_onto_involved()

static __isl_give isl_basic_set * project_onto_involved ( __isl_take isl_basic_set bset,
__isl_keep isl_basic_set template 
)
static

◆ reduce_coefficient_in_div()

static __isl_give isl_basic_map * reduce_coefficient_in_div ( __isl_take isl_basic_map bmap,
int  div,
int  pos 
)
static

◆ reduce_div_coefficients()

static __isl_give isl_basic_map * reduce_div_coefficients ( __isl_take isl_basic_map bmap)
static

Definition at line 212 of file isl_map_simplify.c.

References isl_int_is_zero, and reduce_div_coefficients_of_div().

Referenced by isl_basic_map_simplify().

◆ reduce_div_coefficients_of_div()

static __isl_give isl_basic_map * reduce_div_coefficients_of_div ( __isl_take isl_basic_map bmap,
int  div 
)
static

◆ reduce_stride_constraints()

static __isl_give isl_basic_map * reduce_stride_constraints ( __isl_take isl_basic_map bmap,
int  n,
__isl_keep isl_mat A 
)
static

◆ reduced_using_equalities()

static int reduced_using_equalities ( isl_int dst,
isl_int src,
__isl_keep isl_basic_map bmap,
int *  elim,
unsigned  total 
)
static

◆ remove_dependent_vars()

static __isl_give isl_basic_map * remove_dependent_vars ( __isl_take isl_basic_map bmap,
int  pos 
)
static

◆ remove_duplicate_divs()

static __isl_give isl_basic_map * remove_duplicate_divs ( __isl_take isl_basic_map bmap,
int *  progress 
)
static

◆ remove_incomplete_powers()

static void remove_incomplete_powers ( isl_int g,
isl_int  c 
)
static

◆ remove_redundant_divs()

static __isl_give isl_basic_map * remove_redundant_divs ( __isl_take isl_basic_map bmap)
static

◆ remove_shifted_constraints()

static __isl_give isl_basic_set * remove_shifted_constraints ( __isl_take isl_basic_set bset,
__isl_keep isl_basic_set context 
)
static

◆ replace_by_disjunct()

static __isl_give isl_map * replace_by_disjunct ( __isl_take isl_map map,
int  pos,
__isl_take isl_basic_map context 
)
static

◆ replace_by_empty()

static __isl_give isl_basic_set * replace_by_empty ( __isl_take isl_basic_set bset)
static

◆ replace_by_universe()

static __isl_give isl_map * replace_by_universe ( __isl_take isl_map map,
__isl_take isl_map drop 
)
static

Definition at line 3636 of file isl_map_simplify.c.

References drop(), isl_map_free(), isl_map_get_space(), isl_map_universe(), map, and res.

Referenced by isl_map_gist().

◆ round_up()

static unsigned int round_up ( unsigned int  v)
static

Definition at line 675 of file isl_map_simplify.c.

Referenced by create_constraint_index(), and remove_duplicate_divs().

◆ set_compute_elimination_index()

static void set_compute_elimination_index ( __isl_keep isl_basic_set bset,
int *  elim,
unsigned  len 
)
static

◆ set_div_from_eq()

static __isl_give isl_basic_map * set_div_from_eq ( __isl_take isl_basic_map bmap,
int  div,
int  eq,
int *  progress 
)
static

◆ set_div_from_lower_bound()

static __isl_give isl_basic_map * set_div_from_lower_bound ( __isl_take isl_basic_map bmap,
int  div,
int  ineq 
)
static

◆ set_eq_and_try_again()

static __isl_give isl_basic_map * set_eq_and_try_again ( __isl_take isl_basic_map bmap,
int  ineq,
__isl_take int *  pairs 
)
static

◆ set_hash_index()

static int set_hash_index ( struct isl_constraint_index ci,
__isl_keep isl_basic_set bset,
int  k 
)
static

Definition at line 763 of file isl_map_simplify.c.

References hash_index().

Referenced by setup_constraint_index().

◆ set_reduced_using_equalities()

static int set_reduced_using_equalities ( isl_int dst,
isl_int src,
__isl_keep isl_basic_set bset,
int *  elim,
unsigned  total 
)
static

◆ setup_constraint_index()

static isl_stat setup_constraint_index ( struct isl_constraint_index ci,
__isl_keep isl_basic_set bset 
)
static

◆ single_unknown()

static isl_bool single_unknown ( __isl_keep isl_basic_map bmap,
int  ineq,
int  div 
)
static

◆ swap_equality()

static void swap_equality ( __isl_keep isl_basic_map bmap,
int  a,
int  b 
)
static

Definition at line 31 of file isl_map_simplify.c.

References a(), b(), and t.

Referenced by isl_basic_map_gauss5().

◆ swap_inequality()

static void swap_inequality ( __isl_keep isl_basic_map bmap,
int  a,
int  b 
)
static

Definition at line 38 of file isl_map_simplify.c.

References a(), b(), and t.

Referenced by isl_basic_map_remove_duplicate_constraints().

◆ test_ineq_data_clear()

static void test_ineq_data_clear ( struct test_ineq_data data)
static

◆ test_ineq_is_satisfied()

static isl_bool test_ineq_is_satisfied ( __isl_keep isl_basic_map bmap,
struct test_ineq_data data 
)
static

◆ update_groups()

static void update_groups ( int  dim,
int *  group,
isl_int c 
)
static

Definition at line 2234 of file isl_map_simplify.c.

References isl_int_is_zero.

Referenced by isl_basic_map_drop_unrelated_constraints().

◆ update_ineq()

static __isl_give isl_basic_set * update_ineq ( __isl_take isl_basic_set bset,
__isl_keep int *  row,
struct isl_tab tab 
)
static

◆ update_ineq_free()

static __isl_give isl_basic_set * update_ineq_free ( __isl_take isl_basic_set bset,
__isl_take isl_mat ineq,
__isl_take isl_basic_set context,
__isl_take int *  row,
struct isl_tab tab 
)
static

Definition at line 2483 of file isl_map_simplify.c.

References context, isl_basic_set_free(), isl_mat_free(), isl_tab_free(), and update_ineq().

Referenced by uset_gist_full().

◆ uset_gist()

static __isl_give isl_basic_set * uset_gist ( __isl_take isl_basic_set bset,
__isl_take isl_basic_set context 
)
static

◆ uset_gist_compressed()

static __isl_give isl_basic_set * uset_gist_compressed ( __isl_take isl_basic_set bset,
__isl_take isl_basic_set context,
__isl_take isl_mat T 
)
static

◆ uset_gist_full()

static __isl_give isl_basic_set * uset_gist_full ( __isl_take isl_basic_set bset,
__isl_take isl_mat ineq,
__isl_take isl_basic_set context 
)
static

◆ uset_gist_uncompressed()

static __isl_give isl_basic_set * uset_gist_uncompressed ( __isl_take isl_basic_set bset,
__isl_take isl_basic_set context 
)
static

Definition at line 2648 of file isl_map_simplify.c.

References context, extract_ineq(), and uset_gist_full().

Referenced by uset_gist().