Polly 20.0.0git
Classes | Macros | Typedefs | Enumerations | Functions
isl_tab.h File Reference
#include "isl_int.h"
#include <isl/lp.h>
#include <isl/map.h>
#include <isl/mat.h>
#include <isl/set.h>
#include <isl_config.h>

Go to the source code of this file.

Classes

struct  isl_tab_var
 
struct  isl_tab_callback
 
union  isl_tab_undo_val
 
struct  isl_tab_undo
 
struct  isl_tab
 
struct  isl_trivial_region
 

Macros

#define ISL_TAB_SAVE_DUAL   (1 << 0)
 
#define ISL_OPT_MAX   (1 << 0)
 
#define ISL_OPT_FULL   (1 << 1)
 
#define ISL_OPT_QE   (1 << 2)
 

Typedefs

typedef struct isl_tab_lexmin isl_tab_lexmin
 

Enumerations

enum  isl_tab_undo_type {
  isl_tab_undo_bottom , isl_tab_undo_rational , isl_tab_undo_empty , isl_tab_undo_nonneg ,
  isl_tab_undo_redundant , isl_tab_undo_freeze , isl_tab_undo_zero , isl_tab_undo_allocate ,
  isl_tab_undo_relax , isl_tab_undo_unrestrict , isl_tab_undo_bmap_ineq , isl_tab_undo_bmap_eq ,
  isl_tab_undo_bmap_div , isl_tab_undo_saved_basis , isl_tab_undo_drop_sample , isl_tab_undo_saved_samples ,
  isl_tab_undo_callback
}
 
enum  isl_tab_row_sign { isl_tab_row_unknown = 0 , isl_tab_row_pos , isl_tab_row_neg , isl_tab_row_any }
 
enum  isl_ineq_type {
  isl_ineq_error = -1 , isl_ineq_redundant , isl_ineq_separate , isl_ineq_cut ,
  isl_ineq_adj_eq , isl_ineq_adj_ineq
}
 

Functions

struct isl_tabisl_tab_alloc (struct isl_ctx *ctx, unsigned n_row, unsigned n_var, unsigned M)
 
void isl_tab_free (struct isl_tab *tab)
 
isl_ctxisl_tab_get_ctx (struct isl_tab *tab)
 
__isl_give struct isl_tabisl_tab_from_basic_map (__isl_keep isl_basic_map *bmap, int track)
 
__isl_give struct isl_tabisl_tab_from_basic_set (__isl_keep isl_basic_set *bset, int track)
 
struct isl_tabisl_tab_from_recession_cone (__isl_keep isl_basic_set *bset, int parametric)
 
isl_bool isl_tab_cone_is_bounded (struct isl_tab *tab)
 
__isl_give isl_basic_mapisl_basic_map_update_from_tab (__isl_take isl_basic_map *bmap, struct isl_tab *tab)
 
__isl_give isl_basic_setisl_basic_set_update_from_tab (__isl_take isl_basic_set *bset, struct isl_tab *tab)
 
int isl_tab_detect_implicit_equalities (struct isl_tab *tab) WARN_UNUSED
 
__isl_give isl_basic_mapisl_tab_make_equalities_explicit (struct isl_tab *tab, __isl_take isl_basic_map *bmap)
 
int isl_tab_detect_redundant (struct isl_tab *tab) WARN_UNUSED
 
isl_stat isl_tab_restore_redundant (struct isl_tab *tab)
 
enum isl_lp_result isl_tab_min (struct isl_tab *tab, isl_int *f, isl_int denom, isl_int *opt, isl_int *opt_denom, unsigned flags) WARN_UNUSED
 
isl_stat isl_tab_add_ineq (struct isl_tab *tab, isl_int *ineq) WARN_UNUSED
 
isl_stat isl_tab_add_eq (struct isl_tab *tab, isl_int *eq) WARN_UNUSED
 
int isl_tab_add_valid_eq (struct isl_tab *tab, isl_int *eq) WARN_UNUSED
 
int isl_tab_freeze_constraint (struct isl_tab *tab, int con) WARN_UNUSED
 
isl_stat isl_tab_track_bmap (struct isl_tab *tab, __isl_take isl_basic_map *bmap) WARN_UNUSED
 
isl_stat isl_tab_track_bset (struct isl_tab *tab, __isl_take isl_basic_set *bset) WARN_UNUSED
 
__isl_keep isl_basic_setisl_tab_peek_bset (struct isl_tab *tab)
 
int isl_tab_is_equality (struct isl_tab *tab, int con)
 
int isl_tab_is_redundant (struct isl_tab *tab, int con)
 
int isl_tab_sample_is_integer (struct isl_tab *tab)
 
__isl_give isl_vecisl_tab_get_sample_value (struct isl_tab *tab)
 
enum isl_ineq_type isl_tab_ineq_type (struct isl_tab *tab, isl_int *ineq)
 
struct isl_tab_undoisl_tab_snap (struct isl_tab *tab)
 
isl_stat isl_tab_rollback (struct isl_tab *tab, struct isl_tab_undo *snap) WARN_UNUSED
 
isl_bool isl_tab_need_undo (struct isl_tab *tab)
 
void isl_tab_clear_undo (struct isl_tab *tab)
 
int isl_tab_relax (struct isl_tab *tab, int con) WARN_UNUSED
 
int isl_tab_select_facet (struct isl_tab *tab, int con) WARN_UNUSED
 
int isl_tab_unrestrict (struct isl_tab *tab, int con) WARN_UNUSED
 
void isl_tab_dump (__isl_keep struct isl_tab *tab)
 
__isl_give isl_mapisl_tab_basic_map_partial_lexopt (__isl_take isl_basic_map *bmap, __isl_take isl_basic_set *dom, __isl_give isl_set **empty, unsigned flags)
 
__isl_give isl_pw_multi_affisl_tab_basic_map_partial_lexopt_pw_multi_aff (__isl_take isl_basic_map *bmap, __isl_take isl_basic_set *dom, __isl_give isl_set **empty, unsigned flags)
 
__isl_give isl_vecisl_tab_basic_set_non_trivial_lexmin (__isl_take isl_basic_set *bset, int n_op, int n_region, struct isl_trivial_region *region, int(*conflict)(int con, void *user), void *user)
 
__isl_give isl_tab_lexminisl_tab_lexmin_from_basic_set (__isl_take isl_basic_set *bset)
 
int isl_tab_lexmin_dim (__isl_keep isl_tab_lexmin *tl)
 
__isl_give isl_tab_lexminisl_tab_lexmin_add_eq (__isl_take isl_tab_lexmin *tl, isl_int *eq)
 
__isl_give isl_tab_lexminisl_tab_lexmin_cut_to_integer (__isl_take isl_tab_lexmin *tl)
 
__isl_give isl_vecisl_tab_lexmin_get_solution (__isl_keep isl_tab_lexmin *tl)
 
__isl_null isl_tab_lexminisl_tab_lexmin_free (__isl_take isl_tab_lexmin *tl)
 
struct isl_tab_varisl_tab_var_from_row (struct isl_tab *tab, int i)
 
int isl_tab_mark_redundant (struct isl_tab *tab, int row) WARN_UNUSED
 
int isl_tab_mark_rational (struct isl_tab *tab) WARN_UNUSED
 
isl_stat isl_tab_mark_empty (struct isl_tab *tab) WARN_UNUSED
 
struct isl_tabisl_tab_dup (struct isl_tab *tab)
 
struct isl_tabisl_tab_product (struct isl_tab *tab1, struct isl_tab *tab2)
 
int isl_tab_extend_cons (struct isl_tab *tab, unsigned n_new) WARN_UNUSED
 
int isl_tab_allocate_con (struct isl_tab *tab) WARN_UNUSED
 
int isl_tab_extend_vars (struct isl_tab *tab, unsigned n_new) WARN_UNUSED
 
int isl_tab_insert_var (struct isl_tab *tab, int pos) WARN_UNUSED
 
int isl_tab_pivot (struct isl_tab *tab, int row, int col) WARN_UNUSED
 
int isl_tab_add_row (struct isl_tab *tab, isl_int *line) WARN_UNUSED
 
int isl_tab_row_is_redundant (struct isl_tab *tab, int row)
 
int isl_tab_min_at_most_neg_one (struct isl_tab *tab, struct isl_tab_var *var)
 
int isl_tab_sign_of_max (struct isl_tab *tab, int con)
 
int isl_tab_kill_col (struct isl_tab *tab, int col) WARN_UNUSED
 
isl_stat isl_tab_push (struct isl_tab *tab, enum isl_tab_undo_type type) WARN_UNUSED
 
isl_stat isl_tab_push_var (struct isl_tab *tab, enum isl_tab_undo_type type, struct isl_tab_var *var) WARN_UNUSED
 
isl_stat isl_tab_push_basis (struct isl_tab *tab) WARN_UNUSED
 
struct isl_tabisl_tab_init_samples (struct isl_tab *tab) WARN_UNUSED
 
int isl_tab_add_sample (struct isl_tab *tab, __isl_take isl_vec *sample) WARN_UNUSED
 
struct isl_tabisl_tab_drop_sample (struct isl_tab *tab, int s)
 
isl_stat isl_tab_save_samples (struct isl_tab *tab) WARN_UNUSED
 
struct isl_tabisl_tab_detect_equalities (struct isl_tab *tab, struct isl_tab *tab_cone) WARN_UNUSED
 
isl_bool isl_tab_is_constant (struct isl_tab *tab, int var, isl_int *value)
 
isl_stat isl_tab_detect_constants (struct isl_tab *tab)
 
isl_stat isl_tab_push_callback (struct isl_tab *tab, struct isl_tab_callback *callback) WARN_UNUSED
 
int isl_tab_insert_div (struct isl_tab *tab, int pos, __isl_keep isl_vec *div, isl_stat(*add_ineq)(void *user, isl_int *), void *user)
 
int isl_tab_add_div (struct isl_tab *tab, __isl_keep isl_vec *div)
 
int isl_tab_shift_var (struct isl_tab *tab, int pos, isl_int shift) WARN_UNUSED
 
isl_stat isl_tab_swap_constraints (struct isl_tab *tab, int con1, int con2)
 

Macro Definition Documentation

◆ ISL_OPT_FULL

#define ISL_OPT_FULL   (1 << 1)

Definition at line 254 of file isl_tab.h.

◆ ISL_OPT_MAX

#define ISL_OPT_MAX   (1 << 0)

Definition at line 252 of file isl_tab.h.

◆ ISL_OPT_QE

#define ISL_OPT_QE   (1 << 2)

Definition at line 256 of file isl_tab.h.

◆ ISL_TAB_SAVE_DUAL

#define ISL_TAB_SAVE_DUAL   (1 << 0)

Definition at line 206 of file isl_tab.h.

Typedef Documentation

◆ isl_tab_lexmin

Definition at line 280 of file isl_tab.h.

Enumeration Type Documentation

◆ isl_ineq_type

Enumerator
isl_ineq_error 
isl_ineq_redundant 
isl_ineq_separate 
isl_ineq_cut 
isl_ineq_adj_eq 
isl_ineq_adj_ineq 

Definition at line 229 of file isl_tab.h.

◆ isl_tab_row_sign

Enumerator
isl_tab_row_unknown 
isl_tab_row_pos 
isl_tab_row_neg 
isl_tab_row_any 

Definition at line 129 of file isl_tab.h.

◆ isl_tab_undo_type

Enumerator
isl_tab_undo_bottom 
isl_tab_undo_rational 
isl_tab_undo_empty 
isl_tab_undo_nonneg 
isl_tab_undo_redundant 
isl_tab_undo_freeze 
isl_tab_undo_zero 
isl_tab_undo_allocate 
isl_tab_undo_relax 
isl_tab_undo_unrestrict 
isl_tab_undo_bmap_ineq 
isl_tab_undo_bmap_eq 
isl_tab_undo_bmap_div 
isl_tab_undo_saved_basis 
isl_tab_undo_drop_sample 
isl_tab_undo_saved_samples 
isl_tab_undo_callback 

Definition at line 31 of file isl_tab.h.

Function Documentation

◆ isl_basic_map_update_from_tab()

__isl_give isl_basic_map * isl_basic_map_update_from_tab ( __isl_take isl_basic_map bmap,
struct isl_tab tab 
)

◆ isl_basic_set_update_from_tab()

__isl_give isl_basic_set * isl_basic_set_update_from_tab ( __isl_take isl_basic_set bset,
struct isl_tab tab 
)

◆ isl_tab_add_div()

int isl_tab_add_div ( struct isl_tab tab,
__isl_keep isl_vec div 
)

Definition at line 2372 of file isl_tab.c.

References isl_tab_insert_div(), and isl_tab::n_var.

Referenced by tab_add_divs().

◆ isl_tab_add_eq()

isl_stat isl_tab_add_eq ( struct isl_tab tab,
isl_int eq 
)

◆ isl_tab_add_ineq()

isl_stat isl_tab_add_ineq ( struct isl_tab tab,
isl_int ineq 
)

◆ isl_tab_add_row()

int isl_tab_add_row ( struct isl_tab tab,
isl_int line 
)

◆ isl_tab_add_sample()

int isl_tab_add_sample ( struct isl_tab tab,
__isl_take isl_vec sample 
)

◆ isl_tab_add_valid_eq()

int isl_tab_add_valid_eq ( struct isl_tab tab,
isl_int eq 
)

◆ isl_tab_alloc()

struct isl_tab * isl_tab_alloc ( struct isl_ctx ctx,
unsigned  n_row,
unsigned  n_var,
unsigned  M 
)

◆ isl_tab_allocate_con()

int isl_tab_allocate_con ( struct isl_tab tab)

◆ isl_tab_basic_map_partial_lexopt()

__isl_give isl_map * isl_tab_basic_map_partial_lexopt ( __isl_take isl_basic_map bmap,
__isl_take isl_basic_set dom,
__isl_give isl_set **  empty,
unsigned  flags 
)

Referenced by SF().

◆ isl_tab_basic_map_partial_lexopt_pw_multi_aff()

__isl_give isl_pw_multi_aff * isl_tab_basic_map_partial_lexopt_pw_multi_aff ( __isl_take isl_basic_map bmap,
__isl_take isl_basic_set dom,
__isl_give isl_set **  empty,
unsigned  flags 
)

◆ isl_tab_basic_set_non_trivial_lexmin()

__isl_give isl_vec * isl_tab_basic_set_non_trivial_lexmin ( __isl_take isl_basic_set bset,
int  n_op,
int  n_region,
struct isl_trivial_region region,
int(*)(int con, void *user conflict,
void *  user 
)

◆ isl_tab_clear_undo()

void isl_tab_clear_undo ( struct isl_tab tab)

Definition at line 3698 of file isl_tab.c.

References free_undo(), and isl_tab::need_undo.

Referenced by propagate_equalities().

◆ isl_tab_cone_is_bounded()

isl_bool isl_tab_cone_is_bounded ( struct isl_tab tab)

◆ isl_tab_detect_constants()

isl_stat isl_tab_detect_constants ( struct isl_tab tab)

◆ isl_tab_detect_equalities()

struct isl_tab * isl_tab_detect_equalities ( struct isl_tab tab,
struct isl_tab tab_cone 
)

◆ isl_tab_detect_implicit_equalities()

int isl_tab_detect_implicit_equalities ( struct isl_tab tab)

◆ isl_tab_detect_redundant()

int isl_tab_detect_redundant ( struct isl_tab tab)

◆ isl_tab_drop_sample()

struct isl_tab * isl_tab_drop_sample ( struct isl_tab tab,
int  s 
)

◆ isl_tab_dump()

void isl_tab_dump ( __isl_keep struct isl_tab tab)

Definition at line 4256 of file isl_tab.c.

References isl_tab_print_internal().

◆ isl_tab_dup()

struct isl_tab * isl_tab_dup ( struct isl_tab tab)

◆ isl_tab_extend_cons()

int isl_tab_extend_cons ( struct isl_tab tab,
unsigned  n_new 
)

◆ isl_tab_extend_vars()

int isl_tab_extend_vars ( struct isl_tab tab,
unsigned  n_new 
)

◆ isl_tab_free()

void isl_tab_free ( struct isl_tab tab)

Definition at line 204 of file isl_tab.c.

References isl_tab::basis, isl_tab::bmap, isl_tab::col_var, isl_tab::con, isl_tab::dual, free_undo(), isl_basic_map_free(), isl_mat_free(), isl_vec_free(), isl_tab::mat, isl_tab::row_sign, isl_tab::row_var, isl_tab::sample_index, isl_tab::samples, and isl_tab::var.

Referenced by add_eq(), add_gbr_eq(), add_gbr_ineq(), add_lexmin_ineq(), add_lexmin_valid_eq(), basic_map_collect_diff(), check_gbr_integer_feasible(), check_integer_feasible(), check_samples(), clear(), clear_coalesce_info(), clear_lexmin_data(), compute_chambers(), context_gbr_add_eq(), context_gbr_add_ineq(), context_gbr_detect_equalities(), context_gbr_free(), context_gbr_invalidate(), context_gbr_restore(), context_gbr_test_ineq(), context_lex_add_eq(), context_lex_add_ineq(), context_lex_detect_nonnegative_parameters(), context_lex_free(), context_lex_invalidate(), context_lex_restore(), context_tab_for_lexmin(), cut_to_integer_lexmin(), delete_lp(), find_solutions(), find_solutions_main(), free_todo(), fuse(), gbr_tab(), isl_basic_map_implicit_equalities(), isl_basic_map_remove_redundancies(), isl_basic_set_compute_vertices(), isl_basic_set_interior_point(), isl_basic_set_is_bounded(), isl_basic_set_reduced_basis(), isl_basic_set_scan(), isl_basic_set_vars_get_sign(), isl_tab_alloc(), isl_tab_detect_equalities(), isl_tab_drop_sample(), isl_tab_dup(), isl_tab_from_basic_map(), isl_tab_from_recession_cone(), isl_tab_init_samples(), isl_tab_lexmin_free(), isl_tab_product(), isl_tab_solve_lp(), lower_dim_vertices_free(), pos_neg(), propagate_equalities(), rational_sample(), sample_bounded(), set_row_cst_to_div(), sh_data_free(), tab_detect_nonnegative_parameters(), tab_for_lexmin(), tab_for_shifted_cone(), test_ineq_data_clear(), update_ineq_free(), uset_affine_hull_bounded(), uset_gist_full(), and valid_direction().

◆ isl_tab_freeze_constraint()

int isl_tab_freeze_constraint ( struct isl_tab tab,
int  con 
)

◆ isl_tab_from_basic_map()

__isl_give struct isl_tab * isl_tab_from_basic_map ( __isl_keep isl_basic_map bmap,
int  track 
)

◆ isl_tab_from_basic_set()

__isl_give struct isl_tab * isl_tab_from_basic_set ( __isl_keep isl_basic_set bset,
int  track 
)

◆ isl_tab_from_recession_cone()

struct isl_tab * isl_tab_from_recession_cone ( __isl_keep isl_basic_set bset,
int  parametric 
)

◆ isl_tab_get_ctx()

isl_ctx * isl_tab_get_ctx ( struct isl_tab tab)

◆ isl_tab_get_sample_value()

__isl_give isl_vec * isl_tab_get_sample_value ( struct isl_tab tab)

◆ isl_tab_ineq_type()

enum isl_ineq_type isl_tab_ineq_type ( struct isl_tab tab,
isl_int ineq 
)

◆ isl_tab_init_samples()

struct isl_tab * isl_tab_init_samples ( struct isl_tab tab)

◆ isl_tab_insert_div()

int isl_tab_insert_div ( struct isl_tab tab,
int  pos,
__isl_keep isl_vec div,
isl_stat(*)(void *user, isl_int *)  add_ineq,
void *  user 
)

◆ isl_tab_insert_var()

int isl_tab_insert_var ( struct isl_tab tab,
int  pos 
)

◆ isl_tab_is_constant()

isl_bool isl_tab_is_constant ( struct isl_tab tab,
int  var,
isl_int value 
)

◆ isl_tab_is_equality()

int isl_tab_is_equality ( struct isl_tab tab,
int  con 
)

◆ isl_tab_is_redundant()

int isl_tab_is_redundant ( struct isl_tab tab,
int  con 
)

◆ isl_tab_kill_col()

int isl_tab_kill_col ( struct isl_tab tab,
int  col 
)

◆ isl_tab_lexmin_add_eq()

__isl_give isl_tab_lexmin * isl_tab_lexmin_add_eq ( __isl_take isl_tab_lexmin tl,
isl_int eq 
)

◆ isl_tab_lexmin_cut_to_integer()

__isl_give isl_tab_lexmin * isl_tab_lexmin_cut_to_integer ( __isl_take isl_tab_lexmin tl)

Definition at line 5638 of file isl_tab_pip.c.

References CUT_ONE, cut_to_integer_lexmin(), isl_tab_lexmin_free(), and isl_tab_lexmin::tab.

Referenced by non_neg_lexmin().

◆ isl_tab_lexmin_dim()

int isl_tab_lexmin_dim ( __isl_keep isl_tab_lexmin tl)

Definition at line 5604 of file isl_tab_pip.c.

Referenced by zero_out_node_coef().

◆ isl_tab_lexmin_free()

__isl_null isl_tab_lexmin * isl_tab_lexmin_free ( __isl_take isl_tab_lexmin tl)

◆ isl_tab_lexmin_from_basic_set()

__isl_give isl_tab_lexmin * isl_tab_lexmin_from_basic_set ( __isl_take isl_basic_set bset)

◆ isl_tab_lexmin_get_solution()

__isl_give isl_vec * isl_tab_lexmin_get_solution ( __isl_keep isl_tab_lexmin tl)

Definition at line 5653 of file isl_tab_pip.c.

References isl_tab_get_sample_value(), and isl_vec_alloc().

Referenced by non_empty_solution().

◆ isl_tab_make_equalities_explicit()

__isl_give isl_basic_map * isl_tab_make_equalities_explicit ( struct isl_tab tab,
__isl_take isl_basic_map bmap 
)

◆ isl_tab_mark_empty()

isl_stat isl_tab_mark_empty ( struct isl_tab tab)

◆ isl_tab_mark_rational()

int isl_tab_mark_rational ( struct isl_tab tab)

Definition at line 985 of file isl_tab.c.

References isl_tab_push(), isl_tab_undo_rational, isl_tab::need_undo, and isl_tab::rational.

Referenced by check_facets().

◆ isl_tab_mark_redundant()

int isl_tab_mark_redundant ( struct isl_tab tab,
int  row 
)

◆ isl_tab_min()

enum isl_lp_result isl_tab_min ( struct isl_tab tab,
isl_int f,
isl_int  denom,
isl_int opt,
isl_int opt_denom,
unsigned  flags 
)

◆ isl_tab_min_at_most_neg_one()

int isl_tab_min_at_most_neg_one ( struct isl_tab tab,
struct isl_tab_var var 
)

◆ isl_tab_need_undo()

isl_bool isl_tab_need_undo ( struct isl_tab tab)

Definition at line 3685 of file isl_tab.c.

References isl_bool_error, isl_bool_ok(), and isl_tab::need_undo.

Referenced by propagate_equalities().

◆ isl_tab_peek_bset()

__isl_keep isl_basic_set * isl_tab_peek_bset ( struct isl_tab tab)

◆ isl_tab_pivot()

int isl_tab_pivot ( struct isl_tab tab,
int  row,
int  col 
)

◆ isl_tab_product()

struct isl_tab * isl_tab_product ( struct isl_tab tab1,
struct isl_tab tab2 
)

◆ isl_tab_push()

isl_stat isl_tab_push ( struct isl_tab tab,
enum isl_tab_undo_type  type 
)

◆ isl_tab_push_basis()

isl_stat isl_tab_push_basis ( struct isl_tab tab)

◆ isl_tab_push_callback()

isl_stat isl_tab_push_callback ( struct isl_tab tab,
struct isl_tab_callback callback 
)

Definition at line 857 of file isl_tab.c.

References isl_tab_undo_val::callback, isl_tab_undo_callback, and push_union().

Referenced by sol_inc_level().

◆ isl_tab_push_var()

isl_stat isl_tab_push_var ( struct isl_tab tab,
enum isl_tab_undo_type  type,
struct isl_tab_var var 
)

◆ isl_tab_relax()

int isl_tab_relax ( struct isl_tab tab,
int  con 
)

◆ isl_tab_restore_redundant()

isl_stat isl_tab_restore_redundant ( struct isl_tab tab)

◆ isl_tab_rollback()

isl_stat isl_tab_rollback ( struct isl_tab tab,
struct isl_tab_undo snap 
)

◆ isl_tab_row_is_redundant()

int isl_tab_row_is_redundant ( struct isl_tab tab,
int  row 
)

◆ isl_tab_sample_is_integer()

int isl_tab_sample_is_integer ( struct isl_tab tab)

◆ isl_tab_save_samples()

isl_stat isl_tab_save_samples ( struct isl_tab tab)

◆ isl_tab_select_facet()

int isl_tab_select_facet ( struct isl_tab tab,
int  con 
)

◆ isl_tab_shift_var()

int isl_tab_shift_var ( struct isl_tab tab,
int  pos,
isl_int  shift 
)

◆ isl_tab_sign_of_max()

int isl_tab_sign_of_max ( struct isl_tab tab,
int  con 
)

Definition at line 1284 of file isl_tab.c.

References isl_tab::con, isl_mat::ctx, isl_assert, isl_tab::mat, sign_of_max(), and var().

Referenced by can_select().

◆ isl_tab_snap()

struct isl_tab_undo * isl_tab_snap ( struct isl_tab tab)

◆ isl_tab_swap_constraints()

isl_stat isl_tab_swap_constraints ( struct isl_tab tab,
int  con1,
int  con2 
)

Definition at line 3053 of file isl_tab.c.

References isl_tab::con, isl_stat_error, isl_stat_ok, isl_tab_check_con(), update_con_after_move(), and var().

Referenced by swap_eq().

◆ isl_tab_track_bmap()

isl_stat isl_tab_track_bmap ( struct isl_tab tab,
__isl_take isl_basic_map bmap 
)

◆ isl_tab_track_bset()

isl_stat isl_tab_track_bset ( struct isl_tab tab,
__isl_take isl_basic_set bset 
)

◆ isl_tab_unrestrict()

int isl_tab_unrestrict ( struct isl_tab tab,
int  con 
)

Definition at line 2888 of file isl_tab.c.

References isl_tab::con, isl_tab_push_var(), isl_tab_undo_unrestrict, and var().

Referenced by is_adj_ineq_extension_with_wraps().

◆ isl_tab_var_from_row()

struct isl_tab_var * isl_tab_var_from_row ( struct isl_tab tab,
int  i 
)