Polly 20.0.0git
|
#include <assert.h>
#include <isl_map_private.h>
#include <isl_seq.h>
#include "isl_tab.h"
#include <isl_int.h>
#include <isl_config.h>
#include "basis_reduction_templ.c"
Go to the source code of this file.
Classes | |
struct | tab_lp |
Macros | |
#define | GBR_LP struct tab_lp |
#define | GBR_lp_init(P) init_lp(P) |
#define | GBR_lp_set_obj(lp, obj, dim) set_lp_obj(lp, obj, dim) |
#define | GBR_lp_solve(lp) solve_lp(lp) |
#define | GBR_lp_get_obj_val(lp, F) get_obj_val(lp, F) |
#define | GBR_lp_delete(lp) delete_lp(lp) |
#define | GBR_lp_next_row(lp) lp->neq |
#define | GBR_lp_add_row(lp, row, dim) add_lp_row(lp, row, dim) |
#define | GBR_lp_get_alpha(lp, row, alpha) get_alpha(lp, row, alpha) |
#define | GBR_lp_del_row(lp) del_lp_row(lp) |
#define | GBR_lp_is_fixed(lp) (lp)->is_fixed |
#define | GBR_lp_cut(lp, obj) cut_lp_to_hyperplane(lp, obj) |
Functions | |
static struct tab_lp * | init_lp (struct isl_tab *tab) |
static void | set_lp_obj (struct tab_lp *lp, isl_int *row, int dim) |
static int | solve_lp (struct tab_lp *lp) |
static void | get_obj_val (struct tab_lp *lp, GBR_type *F) |
static void | delete_lp (struct tab_lp *lp) |
static int | add_lp_row (struct tab_lp *lp, isl_int *row, int dim) |
static void | get_alpha (struct tab_lp *lp, int row, GBR_type *alpha) |
static int | del_lp_row (struct tab_lp *lp) WARN_UNUSED |
static int | cut_lp_to_hyperplane (struct tab_lp *lp, isl_int *row) |
static struct isl_tab * | gbr_tab (struct isl_tab *tab, struct isl_vec *row) |
#define GBR_LP struct tab_lp |
Definition at line 100 of file basis_reduction_tab.c.
#define GBR_lp_add_row | ( | lp, | |
row, | |||
dim | |||
) | add_lp_row(lp, row, dim) |
Definition at line 107 of file basis_reduction_tab.c.
#define GBR_lp_cut | ( | lp, | |
obj | |||
) | cut_lp_to_hyperplane(lp, obj) |
Definition at line 111 of file basis_reduction_tab.c.
#define GBR_lp_del_row | ( | lp | ) | del_lp_row(lp) |
Definition at line 109 of file basis_reduction_tab.c.
#define GBR_lp_delete | ( | lp | ) | delete_lp(lp) |
Definition at line 105 of file basis_reduction_tab.c.
#define GBR_lp_get_alpha | ( | lp, | |
row, | |||
alpha | |||
) | get_alpha(lp, row, alpha) |
Definition at line 108 of file basis_reduction_tab.c.
#define GBR_lp_get_obj_val | ( | lp, | |
F | |||
) | get_obj_val(lp, F) |
Definition at line 104 of file basis_reduction_tab.c.
#define GBR_lp_init | ( | P | ) | init_lp(P) |
Definition at line 101 of file basis_reduction_tab.c.
#define GBR_lp_is_fixed | ( | lp | ) | (lp)->is_fixed |
Definition at line 110 of file basis_reduction_tab.c.
#define GBR_lp_next_row | ( | lp | ) | lp->neq |
Definition at line 106 of file basis_reduction_tab.c.
#define GBR_lp_set_obj | ( | lp, | |
obj, | |||
dim | |||
) | set_lp_obj(lp, obj, dim) |
Definition at line 102 of file basis_reduction_tab.c.
#define GBR_lp_solve | ( | lp | ) | solve_lp(lp) |
Definition at line 103 of file basis_reduction_tab.c.
Definition at line 268 of file basis_reduction_tab.c.
References tab_lp::dim, isl_vec::el, isl_int_set_si, isl_seq_cpy(), isl_seq_neg(), isl_tab_add_valid_eq(), isl_tab_snap(), tab_lp::neq, tab_lp::row, tab_lp::stack, and tab_lp::tab.
Definition at line 220 of file basis_reduction_tab.c.
References tab_lp::con_offset, tab_lp::ctx, tab_lp::dim, isl_vec::el, isl_tab::empty, isl_int_neg, isl_int_set_si, isl_lp_ok, isl_seq_clr(), isl_seq_cpy(), isl_tab_add_eq(), isl_tab_min(), isl_ctx::one, res, tab_lp::row, tab_lp::tab, and tab_lp::tmp.
|
static |
Definition at line 289 of file basis_reduction_tab.c.
References isl_tab_rollback(), tab_lp::neq, tab_lp::stack, and tab_lp::tab.
|
static |
Definition at line 252 of file basis_reduction_tab.c.
References tab_lp::ctx, isl_ctx_deref(), isl_int_clear, isl_tab_free(), isl_vec_free(), tab_lp::opt, tab_lp::opt_denom, tab_lp::row, tab_lp::stack, tab_lp::tab, tab_lp::tmp, and tab_lp::tmp2.
Referenced by init_lp().
Definition at line 118 of file basis_reduction_tab.c.
References isl_tab_extend_cons(), isl_tab_free(), isl_tab_product(), and isl_tab::n_var.
Referenced by init_lp().
|
static |
Definition at line 282 of file basis_reduction_tab.c.
References tab_lp::con_offset, isl_tab::dual, isl_vec::el, and tab_lp::tab.
|
static |
Definition at line 246 of file basis_reduction_tab.c.
References tab_lp::opt, and tab_lp::opt_denom.
Definition at line 135 of file basis_reduction_tab.c.
References tab_lp::con_offset, tab_lp::ctx, isl_mat::ctx, delete_lp(), tab_lp::dim, gbr_tab(), isl_alloc_array, isl_calloc_type, isl_ctx_ref(), isl_int_init, isl_vec_alloc(), isl_tab::mat, isl_tab::n_con, isl_tab::n_var, tab_lp::neq, tab_lp::obj, tab_lp::opt, tab_lp::opt_denom, tab_lp::row, tab_lp::stack, tab_lp::tab, tab_lp::tmp, and tab_lp::tmp2.
Definition at line 174 of file basis_reduction_tab.c.
References tab_lp::obj, and tab_lp::row.
|
static |
Definition at line 179 of file basis_reduction_tab.c.
References tab_lp::ctx, tab_lp::dim, isl_vec::el, tab_lp::is_fixed, isl_die, isl_error_internal, isl_int_abs_lt, isl_int_cdiv_q, isl_int_divexact_ui, isl_int_fdiv_q, isl_int_ge, isl_int_mul_ui, isl_int_set_si, isl_lp_ok, isl_seq_cpy(), isl_seq_inner_product(), isl_seq_neg(), isl_tab_get_sample_value(), isl_tab_min(), ISL_TAB_SAVE_DUAL, isl_vec_free(), tab_lp::neq, tab_lp::obj, isl_ctx::one, tab_lp::opt, tab_lp::opt_denom, res, tab_lp::row, tab_lp::tab, tab_lp::tmp, and tab_lp::tmp2.