Polly 20.0.0git
|
#include <isl_ctx_private.h>
#include "isl_map_private.h"
#include <isl_seq.h>
#include "isl_tab.h"
#include "isl_sample.h"
#include <isl_mat_private.h>
#include <isl_vec_private.h>
#include <isl_aff_private.h>
#include <isl_constraint_private.h>
#include <isl_options_private.h>
#include <isl_config.h>
#include <bset_to_bmap.c>
#include "isl_tab_lexopt_templ.c"
Go to the source code of this file.
Classes | |
struct | isl_context_op |
struct | isl_context |
struct | isl_context_lex |
struct | isl_partial_sol |
struct | isl_sol_callback |
struct | isl_sol |
struct | isl_sol_map |
struct | isl_context_gbr |
struct | isl_gbr_tab_undo |
struct | isl_constraint_equal_info |
struct | isl_lexmin_data |
struct | isl_local_region |
struct | isl_tab_lexmin |
struct | isl_sol_pma |
Macros | |
#define | I_CST 1 << 0 |
#define | I_PAR 1 << 1 |
#define | I_VAR 1 << 2 |
#define | CUT_ALL 1 |
#define | CUT_ONE 0 |
#define | TYPE isl_map |
#define | SUFFIX |
#define | TYPE isl_pw_multi_aff |
#define | SUFFIX _pw_multi_aff |
Enumerations | |
enum | isl_next { isl_next_error = -1 , isl_next_done , isl_next_backtrack , isl_next_handle } |
Variables | |
struct isl_context_op | isl_context_lex_op |
struct isl_context_op | isl_context_gbr_op |
#define CUT_ALL 1 |
Definition at line 1858 of file isl_tab_pip.c.
#define CUT_ONE 0 |
Definition at line 1859 of file isl_tab_pip.c.
#define I_CST 1 << 0 |
Definition at line 1747 of file isl_tab_pip.c.
#define I_PAR 1 << 1 |
Definition at line 1748 of file isl_tab_pip.c.
#define I_VAR 1 << 2 |
Definition at line 1749 of file isl_tab_pip.c.
#define SUFFIX |
Definition at line 6010 of file isl_tab_pip.c.
#define SUFFIX _pw_multi_aff |
Definition at line 6010 of file isl_tab_pip.c.
#define TYPE isl_map |
Definition at line 6008 of file isl_tab_pip.c.
#define TYPE isl_pw_multi_aff |
Definition at line 6008 of file isl_tab_pip.c.
enum isl_next |
Enumerator | |
---|---|
isl_next_error | |
isl_next_done | |
isl_next_backtrack | |
isl_next_handle |
Definition at line 5298 of file isl_tab_pip.c.
|
static |
Definition at line 1825 of file isl_tab_pip.c.
References isl_tab::con, isl_tab_var::index, isl_tab_var::is_nonneg, isl_int_fdiv_r, isl_int_neg, isl_int_set, isl_int_set_si, isl_tab_allocate_con(), isl_tab_extend_cons(), isl_tab_push_var(), isl_tab_row_neg, isl_tab_undo_nonneg, isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_mat::row, and isl_tab::row_sign.
Referenced by cut_to_integer_lexmin(), and find_solutions().
|
static |
Definition at line 2090 of file isl_tab_pip.c.
References context, isl_tab_var::frozen, isl_tab_var::is_nonneg, isl_tab_extend_vars(), isl_tab_insert_var(), isl_tab::n_div, isl_tab::n_var, pos(), and isl_tab::var.
Referenced by get_div().
Definition at line 3092 of file isl_tab_pip.c.
References isl_tab_add_eq(), isl_tab_extend_cons(), and isl_tab_free().
Referenced by context_gbr_add_eq().
|
static |
Definition at line 3152 of file isl_tab_pip.c.
References isl_tab::bmap, isl_context_gbr::cone, isl_tab::empty, isl_basic_map_dim(), isl_dim_all, isl_int_add, isl_int_is_neg, isl_int_sub, isl_tab_add_ineq(), isl_tab_extend_cons(), isl_tab_free(), isl_tab::n_col, isl_tab::n_dead, isl_context_gbr::shifted, isl_context_gbr::tab, and use_shifted().
Referenced by context_gbr_add_ineq(), and context_gbr_test_ineq().
Definition at line 1579 of file isl_tab_pip.c.
References isl_tab::bmap, isl_tab::con, isl_tab::empty, isl_tab_var::index, is_constant(), isl_tab_var::is_nonneg, isl_tab_var::is_row, isl_basic_map_add_ineq(), isl_int_is_zero, isl_seq_neg(), isl_tab_add_row(), isl_tab_kill_col(), isl_tab_mark_empty(), isl_tab_push(), isl_tab_push_var(), isl_tab_rollback(), isl_tab_snap(), isl_tab_undo_bmap_ineq, isl_tab_undo_nonneg, isl_tab::M, isl_tab::mat, isl_tab::n_var, restore_lexmin(), and isl_mat::row.
Referenced by context_lex_add_eq(), fix_zero(), and force_better_solution().
Definition at line 1657 of file isl_tab_pip.c.
References isl_tab::bmap, isl_tab::con, isl_tab::empty, isl_tab_var::index, isl_tab_var::is_nonneg, isl_tab_var::is_row, isl_basic_map_add_ineq(), isl_tab_add_row(), isl_tab_free(), isl_tab_mark_redundant(), isl_tab_push(), isl_tab_push_var(), isl_tab_row_is_redundant(), isl_tab_undo_bmap_ineq, isl_tab_undo_nonneg, and restore_lexmin().
Referenced by context_lex_add_ineq(), context_lex_test_ineq(), isl_tab_lexmin_add_eq(), pos_neg(), and tab_for_lexmin().
Definition at line 1499 of file isl_tab_pip.c.
References isl_tab::con, isl_tab_var::index, isl_tab_var::is_nonneg, isl_seq_neg(), isl_tab_add_row(), isl_tab_free(), isl_tab_kill_col(), isl_tab_pivot(), isl_tab_push_var(), isl_tab_undo_nonneg, last_var_col_or_int_par_col(), isl_tab::n_eq, and isl_tab::n_var.
Referenced by tab_for_lexmin().
|
static |
Definition at line 2193 of file isl_tab_pip.c.
References isl_tab::col_var, isl_tab::con, context, gcd(), get_row_parameter_div(), isl_tab_var::index, isl_tab_var::is_nonneg, isl_tab_var::is_row, isl_int_clear, isl_int_divexact, isl_int_fdiv_r, isl_int_gcd, isl_int_init, isl_int_mul, isl_int_neg, isl_int_set, isl_int_set_si, isl_seq_combine(), isl_tab_allocate_con(), isl_tab_extend_cons(), isl_tab_push_var(), isl_tab_row_neg, isl_tab_undo_nonneg, isl_vec_free(), isl_tab::M, isl_tab::mat, n, isl_tab::n_col, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, isl_tab::row_sign, and isl_tab::var.
Referenced by find_solutions().
|
static |
Definition at line 4361 of file isl_tab_pip.c.
References find_context_div(), isl_basic_map_alloc_div(), isl_basic_map_cow(), isl_basic_map_dim(), isl_basic_map_extend(), isl_basic_map_free(), isl_basic_map_swap_div(), isl_dim_div, isl_int_set_si, and pos().
Referenced by basic_map_partial_lexopt_base_sol().
|
static |
Definition at line 4536 of file isl_tab_pip.c.
References isl_int_is_zero, and n.
Referenced by SF().
|
static |
Referenced by basic_map_partial_lexopt_symm_core(), isl_map_partial_lexopt_aligned(), and SF().
|
static |
Definition at line 4466 of file isl_tab_pip.c.
References basic_map_partial_lexopt_base_sol(), isl_sol_map::empty, isl_map_copy(), isl_set_copy(), isl_sol_map::map, result, isl_sol_map::sol, sol_free(), and sol_map_init().
Referenced by SF().
|
static |
Definition at line 5778 of file isl_tab_pip.c.
References basic_map_partial_lexopt_base_sol(), isl_sol_pma::empty, isl_pw_multi_aff_copy(), isl_set_copy(), isl_sol_pma::pma, result, isl_sol_pma::sol, sol_free(), and sol_pma_init().
|
static |
Definition at line 4419 of file isl_tab_pip.c.
References isl_sol::add_empty, align_context_divs(), isl_sol::context, context, isl_sol::error, find_solutions_main(), init(), isl_basic_map_free(), isl_basic_map_plain_is_empty(), isl_basic_set_copy(), isl_basic_set_plain_is_empty(), isl_basic_set_sort_divs(), sol_free(), and tab_for_lexmin().
Referenced by basic_map_partial_lexopt_base(), and basic_map_partial_lexopt_base_pw_multi_aff().
|
static |
Referenced by isl_map_partial_lexopt_aligned_pw_multi_aff().
|
static |
Definition at line 4906 of file isl_tab_pip.c.
References basic_map_partial_lexopt(), isl_basic_set_get_space(), isl_map_reset_space(), isl_mat_copy(), isl_set_copy(), isl_set_reset_space(), set_minimum(), split(), and split_domain().
Referenced by SF().
|
static |
Definition at line 5980 of file isl_tab_pip.c.
Definition at line 2401 of file isl_tab_pip.c.
References isl_tab::con, isl_vec::el, isl_tab::empty, get_row_parameter_ineq(), isl_tab_var::is_nonneg, is_parametric_constant(), isl_tab_add_ineq(), isl_tab_extend_cons(), isl_tab_min_at_most_neg_one(), isl_tab_rollback(), isl_tab_row_any, isl_tab_snap(), isl_tab_var_from_row(), isl_vec_free(), isl_tab::n_con, isl_tab::n_redundant, isl_tab::row_sign, split(), and var().
Referenced by context_gbr_best_split(), and context_lex_best_split().
|
static |
Definition at line 5392 of file isl_tab_pip.c.
References force_better_solution(), isl_stat_error, isl_stat_ok, isl_lexmin_data::n_op, isl_local_region::n_zero, isl_lexmin_data::sol, isl_lexmin_data::tab, and isl_local_region::update.
Referenced by isl_tab_basic_set_non_trivial_lexmin().
|
static |
Definition at line 249 of file isl_tab_pip.c.
References isl_die, isl_error_internal, isl_mat_cols(), isl_mat_get_ctx(), isl_mat_rows(), isl_seq_first_non_zero(), isl_stat_error, isl_stat_ok, M(), and n.
Referenced by set_from_affine_matrix().
|
static |
Definition at line 3062 of file isl_tab_pip.c.
References isl_tab::empty, gbr_get_sample(), isl_tab_add_sample(), isl_tab_free(), isl_tab_mark_empty(), isl_vec_free(), isl_vec::size, and isl_context_gbr::tab.
Referenced by context_gbr_add_eq(), context_gbr_add_ineq(), context_gbr_test_ineq(), and isl_context_gbr_alloc().
Definition at line 1980 of file isl_tab_pip.c.
References CUT_ALL, cut_to_integer_lexmin(), isl_tab::empty, isl_tab_add_sample(), isl_tab_free(), isl_tab_get_sample_value(), isl_tab_push_basis(), isl_tab_rollback(), isl_tab_snap(), and sample_is_finite().
Referenced by context_lex_add_eq(), context_lex_add_ineq(), context_lex_test_ineq(), and isl_context_lex_alloc().
|
static |
Definition at line 1341 of file isl_tab_pip.c.
References col_is_parameter_var(), isl_tab_var::index, isl_tab_var::is_row, isl_int_is_pos, isl_int_is_zero, isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_dead, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, var(), and isl_tab::var.
Definition at line 1917 of file isl_tab_pip.c.
References isl_tab::bmap, isl_mat::ctx, isl_assert, isl_int_clear, isl_int_init, isl_int_sgn, isl_seq_inner_product(), isl_tab_drop_sample(), isl_tab_free(), isl_tab::mat, isl_mat::n_col, isl_tab::n_outside, isl_tab::n_sample, isl_tab::n_var, isl_mat::row, isl_tab::samples, and sgn().
Referenced by context_gbr_add_eq(), context_gbr_add_ineq(), context_lex_add_eq(), and context_lex_add_ineq().
|
static |
Definition at line 5451 of file isl_tab_pip.c.
References isl_tab_free(), isl_vec_free(), isl_lexmin_data::local, isl_lexmin_data::tab, and isl_lexmin_data::v.
Referenced by isl_tab_basic_set_non_trivial_lexmin().
|
static |
Definition at line 1249 of file isl_tab_pip.c.
References isl_tab::col_var, and is_parameter_var().
Referenced by check_lexpos(), integer_variable(), is_critical(), is_parametric_constant(), lexmin_pivot_col(), and report_conflict().
Definition at line 496 of file isl_tab_pip.c.
References combine_initial_into_second(), isl_partial_sol::dom, equal_on_domain(), isl_stat_error, isl_stat_ok, isl_partial_sol::ma, isl_partial_sol::next, isl_sol::partial, same_solution(), sol_pop_one(), and swap_initial().
Referenced by sol_pop().
Definition at line 433 of file isl_tab_pip.c.
References isl_partial_sol::dom, isl_basic_set_free(), isl_stat_error, isl_stat_ok, isl_partial_sol::level, isl_sol::level, isl_partial_sol::ma, isl_partial_sol::next, isl_sol::partial, and sol_domain().
Referenced by combine_initial_if_equal().
|
static |
Definition at line 4569 of file isl_tab_pip.c.
References isl_bool_ok(), isl_seq_eq(), isl_constraint_equal_info::n_in, isl_constraint_equal_info::n_out, val, and isl_constraint_equal_info::val.
Referenced by parallel_constraints().
|
static |
Definition at line 3118 of file isl_tab_pip.c.
References add_gbr_eq(), check_gbr_integer_feasible(), check_samples(), isl_context_gbr::cone, context, isl_tab::empty, isl_tab_add_eq(), isl_tab_extend_cons(), isl_tab_free(), isl_tab_mark_empty(), isl_tab::n_col, isl_tab::n_dead, isl_context_gbr::shifted, isl_context_gbr::tab, tab_has_valid_sample(), and use_shifted().
|
static |
Definition at line 3202 of file isl_tab_pip.c.
References add_gbr_ineq(), check_gbr_integer_feasible(), check_samples(), context, isl_tab_free(), isl_context_gbr::tab, and tab_has_valid_sample().
Referenced by context_gbr_add_ineq_wrap().
Definition at line 3226 of file isl_tab_pip.c.
References context, context_gbr_add_ineq(), isl_stat_error, isl_stat_ok, and user.
Referenced by context_gbr_insert_div().
|
static |
Definition at line 3465 of file isl_tab_pip.c.
References best_split(), context, isl_tab_rollback(), isl_tab_snap(), and isl_context_gbr::tab.
|
static |
Definition at line 3394 of file isl_tab_pip.c.
References isl_tab::bmap, isl_context_gbr::cone, context, isl_basic_set_copy(), isl_tab_detect_equalities(), isl_tab_detect_implicit_equalities(), isl_tab_free(), isl_tab_from_recession_cone(), isl_tab_peek_bset(), isl_tab_track_bset(), isl_basic_map::n_ineq, propagate_equalities(), and isl_context_gbr::tab.
|
static |
Definition at line 2887 of file isl_tab_pip.c.
References context, isl_context_gbr::tab, and tab_detect_nonnegative_parameters().
|
static |
Definition at line 3561 of file isl_tab_pip.c.
|
static |
Definition at line 3580 of file isl_tab_pip.c.
References isl_context_gbr::cone, context, isl_tab_free(), isl_context_gbr::shifted, and isl_context_gbr::tab.
|
static |
Definition at line 3427 of file isl_tab_pip.c.
|
static |
Definition at line 3233 of file isl_tab_pip.c.
References context, isl_context_gbr::tab, and tab_ineq_sign().
|
static |
Definition at line 3433 of file isl_tab_pip.c.
References isl_tab::bmap, isl_context_gbr::cone, context, context_gbr_add_ineq_wrap(), context_tab_insert_div(), isl_basic_map_dim(), isl_basic_map_insert_div(), isl_bool_error, isl_dim_div, isl_tab_extend_cons(), isl_tab_extend_vars(), isl_tab_insert_var(), isl_tab_push_var(), isl_tab_undo_bmap_div, isl_tab::n_var, pos(), isl_context_gbr::tab, and isl_tab::var.
|
static |
Definition at line 3573 of file isl_tab_pip.c.
References context, isl_tab_free(), and isl_context_gbr::tab.
|
static |
Definition at line 3481 of file isl_tab_pip.c.
References context, isl_tab::empty, and isl_context_gbr::tab.
|
static |
Definition at line 3567 of file isl_tab_pip.c.
References context, and isl_context_gbr::tab.
|
static |
Definition at line 2896 of file isl_tab_pip.c.
References context, isl_tab_peek_bset(), and isl_context_gbr::tab.
|
static |
Definition at line 2905 of file isl_tab_pip.c.
References context, and isl_context_gbr::tab.
|
static |
Definition at line 3527 of file isl_tab_pip.c.
References isl_context_gbr::cone, isl_gbr_tab_undo::cone_snap, context, isl_tab_free(), isl_tab_rollback(), isl_context_gbr::shifted, isl_gbr_tab_undo::shifted_snap, isl_context_gbr::tab, and isl_gbr_tab_undo::tab_snap.
|
static |
Definition at line 3495 of file isl_tab_pip.c.
References isl_context_gbr::cone, isl_gbr_tab_undo::cone_snap, context, isl_mat::ctx, isl_alloc_type, isl_tab_save_samples(), isl_tab_snap(), isl_tab::mat, isl_context_gbr::shifted, isl_gbr_tab_undo::shifted_snap, isl_context_gbr::tab, and isl_gbr_tab_undo::tab_snap.
|
static |
Definition at line 3243 of file isl_tab_pip.c.
References add_gbr_ineq(), check_gbr_integer_feasible(), isl_context_gbr::cone, context, isl_tab::empty, isl_tab_extend_cons(), isl_tab_free(), isl_tab_rollback(), isl_tab_snap(), isl_context_gbr::shifted, and isl_context_gbr::tab.
|
static |
Definition at line 2488 of file isl_tab_pip.c.
References add_lexmin_eq(), check_integer_feasible(), check_samples(), context, isl_tab_extend_cons(), isl_tab_free(), isl_context_lex::tab, and tab_has_valid_sample().
|
static |
Definition at line 2511 of file isl_tab_pip.c.
References add_lexmin_ineq(), check_integer_feasible(), check_samples(), context, isl_tab_extend_cons(), isl_tab_free(), isl_context_lex::tab, and tab_has_valid_sample().
Referenced by context_lex_add_ineq_wrap().
Definition at line 2533 of file isl_tab_pip.c.
References context, context_lex_add_ineq(), isl_stat_error, isl_stat_ok, and user.
Referenced by context_lex_insert_div().
|
static |
Definition at line 2650 of file isl_tab_pip.c.
References best_split(), context, isl_tab_push_basis(), isl_tab_rollback(), isl_tab_snap(), and isl_context_lex::tab.
|
static |
Definition at line 2644 of file isl_tab_pip.c.
|
static |
Definition at line 2768 of file isl_tab_pip.c.
References context, isl_tab_free(), isl_tab_push_basis(), isl_tab_rollback(), isl_tab_snap(), isl_context_lex::tab, and tab_detect_nonnegative_parameters().
|
static |
Definition at line 2699 of file isl_tab_pip.c.
|
static |
Definition at line 2799 of file isl_tab_pip.c.
References context, isl_tab_free(), and isl_context_lex::tab.
|
static |
Definition at line 2616 of file isl_tab_pip.c.
|
static |
Definition at line 2580 of file isl_tab_pip.c.
References context, isl_context_lex::tab, and tab_ineq_sign().
|
static |
Definition at line 2630 of file isl_tab_pip.c.
References context, context_lex_add_ineq_wrap(), context_tab_insert_div(), isl_bool_error, isl_bool_false, isl_tab::M, pos(), and isl_context_lex::tab.
|
static |
Definition at line 2792 of file isl_tab_pip.c.
References context, isl_tab_free(), and isl_context_lex::tab.
|
static |
Definition at line 2668 of file isl_tab_pip.c.
References context, isl_tab::empty, and isl_context_lex::tab.
|
static |
Definition at line 2703 of file isl_tab_pip.c.
References context, and isl_context_lex::tab.
|
static |
Definition at line 2473 of file isl_tab_pip.c.
References context, isl_tab_peek_bset(), and isl_context_lex::tab.
|
static |
Definition at line 2482 of file isl_tab_pip.c.
References context, and isl_context_lex::tab.
|
static |
Definition at line 2690 of file isl_tab_pip.c.
References context, isl_tab_free(), isl_tab_rollback(), and isl_context_lex::tab.
|
static |
Definition at line 2676 of file isl_tab_pip.c.
References context, isl_tab_push_basis(), isl_tab_save_samples(), isl_tab_snap(), and isl_context_lex::tab.
|
static |
Definition at line 2590 of file isl_tab_pip.c.
References add_lexmin_ineq(), check_integer_feasible(), context, isl_tab::empty, isl_tab_extend_cons(), isl_tab_push_basis(), isl_tab_rollback(), isl_tab_snap(), and isl_context_lex::tab.
|
static |
Definition at line 2830 of file isl_tab_pip.c.
References bset_to_bmap(), isl_tab_free(), isl_tab_init_samples(), isl_tab_track_bset(), and tab_for_lexmin().
Referenced by isl_context_lex_alloc().
|
static |
Definition at line 2045 of file isl_tab_pip.c.
References isl_tab_var::frozen, isl_tab_var::is_nonneg, isl_bool_error, isl_bool_ok(), isl_int_fdiv_q, isl_mat_extend(), isl_mat_move_cols(), isl_seq_inner_product(), isl_tab_insert_div(), isl_mat::n_col, isl_tab::n_outside, isl_mat::n_row, isl_tab::n_sample, isl_tab::n_var, pos(), isl_mat::row, isl_tab::samples, user, and isl_tab::var.
Referenced by context_gbr_insert_div(), and context_lex_insert_div().
|
static |
Definition at line 4490 of file isl_tab_pip.c.
References isl_basic_map_get_ctx(), isl_calloc_array, isl_int_is_zero, and n.
Referenced by parallel_constraints().
Definition at line 1876 of file isl_tab_pip.c.
References add_cut(), CUT_ONE, isl_tab::empty, I_VAR, isl_tab_var::index, ISL_FL_ISSET, isl_tab_free(), isl_tab_mark_empty(), next_non_integer_var(), restore_lexmin(), var(), and isl_tab::var.
Referenced by check_integer_feasible(), enter_level(), and isl_tab_lexmin_cut_to_integer().
|
static |
Definition at line 2969 of file isl_tab_pip.c.
References isl_int_set_si.
Referenced by gbr_get_sample().
|
static |
Definition at line 5340 of file isl_tab_pip.c.
References CUT_ONE, cut_to_integer_lexmin(), isl_tab::empty, finished_all_cases(), first_trivial_region(), init(), init_local_region(), is_optimal(), isl_die, isl_error_internal, isl_next_backtrack, isl_next_done, isl_next_error, isl_next_handle, isl_tab_extend_cons(), isl_tab_get_sample_value(), isl_tab_rollback(), isl_vec_free(), isl_vec_get_ctx(), isl_lexmin_data::local, isl_local_region::n, isl_lexmin_data::n_op, isl_lexmin_data::n_region, isl_local_region::snap, isl_lexmin_data::sol, isl_lexmin_data::tab, update_outer_levels(), and isl_lexmin_data::v.
Referenced by isl_tab_basic_set_non_trivial_lexmin().
|
static |
Definition at line 463 of file isl_tab_pip.c.
References isl_partial_sol::dom, equal, isl_basic_set_compute_divs(), isl_basic_set_copy(), isl_pw_multi_aff_alloc(), isl_pw_multi_aff_free(), isl_pw_multi_aff_is_equal(), isl_set_copy(), ma1, and set.
Referenced by combine_initial_if_equal().
|
static |
Definition at line 4952 of file isl_tab_pip.c.
References isl_basic_map_copy(), isl_basic_map_dim(), isl_basic_map_domain(), isl_basic_map_drop_constraints_involving_dims(), isl_dim_div, isl_dim_out, ISL_FL_ISSET, ISL_OPT_QE, and isl_constraint_equal_info::n_out.
|
static |
Definition at line 4981 of file isl_tab_pip.c.
References isl_vec::el, isl_tab_var::index, isl_tab_var::is_row, isl_int_divexact, isl_int_set_si, isl_tab_get_ctx(), isl_vec_alloc(), isl_tab::mat, pos(), isl_mat::row, and isl_tab::var.
Referenced by region_is_trivial().
|
static |
Definition at line 4316 of file isl_tab_pip.c.
References isl_basic_map_dim(), isl_basic_map_var_offset(), isl_basic_set_var_offset(), isl_dim_div, isl_int_is_zero, isl_seq_eq(), and isl_seq_first_non_zero().
Referenced by align_context_divs().
Definition at line 2128 of file isl_tab_pip.c.
References isl_tab::bmap, isl_basic_map::div, isl_basic_map_dim(), isl_dim_all, isl_dim_div, isl_int_ne, isl_seq_eq(), isl_tab::n_div, and total().
Referenced by get_div().
Definition at line 3926 of file isl_tab_pip.c.
References isl_context_op::add_ineq, isl_sol::context, isl_context_op::discard, isl_sol::error, find_solutions(), isl_tab_dup(), isl_context::op, isl_context_op::restore, and isl_context_op::save.
Referenced by find_solutions().
Definition at line 4092 of file isl_tab_pip.c.
References add_cut(), add_parametric_cut(), isl_sol::context, context, isl_vec::el, isl_tab::empty, isl_sol::error, find_in_pos(), first_non_integer_row(), get_row_parameter_ineq(), get_row_split_div(), I_PAR, I_VAR, ineq_for_div(), isl_tab_var::is_nonneg, is_strict(), ISL_FL_ISSET, isl_int_sub_ui, isl_seq_neg(), isl_tab_free(), isl_tab_mark_empty(), isl_tab_row_any, isl_tab_row_neg, isl_tab_row_pos, isl_tab_var_from_row(), isl_vec_free(), isl_tab::n_redundant, no_sol_in_strict(), isl_tab::rational, reset_any_to_unknown(), restore_lexmin(), isl_tab::row_sign, row_sign(), set_row_cst_to_div(), sgn(), isl_vec::size, sol_add(), sol_inc_level(), and split().
Referenced by find_in_pos(), and find_solutions_main().
Definition at line 4244 of file isl_tab_pip.c.
References isl_context_op::add_eq, isl_sol::context, isl_mat::ctx, isl_context_op::discard, isl_vec::el, isl_sol::error, find_solutions(), get_row_parameter_line(), isl_context_op::is_empty, isl_int_neg, isl_seq_neg(), isl_tab_free(), isl_tab_mark_redundant(), isl_vec_alloc(), isl_vec_free(), isl_vec_normalize(), isl_sol::level, isl_tab::mat, isl_tab::n_div, isl_tab::n_param, isl_tab::n_redundant, isl_tab::n_var, no_sol_in_strict(), isl_context::op, p, isl_context_op::restore, isl_mat::row, row_is_parameter_var(), isl_tab::row_var, isl_context_op::save, isl_vec::size, sol_has_mergeable_solutions(), sol_inc_level(), and sol_pop().
Referenced by basic_map_partial_lexopt_base_sol().
|
static |
Definition at line 5313 of file isl_tab_pip.c.
References isl_tab::empty, isl_local_region::n, isl_local_region::side, and isl_lexmin_data::tab.
Referenced by enter_level().
|
static |
Definition at line 1306 of file isl_tab_pip.c.
References is_obviously_neg(), isl_int_is_neg, isl_tab_row_neg, isl_tab_var_from_row(), isl_tab::M, isl_tab::mat, isl_tab::n_redundant, isl_tab::n_row, isl_mat::row, and isl_tab::row_sign.
Referenced by restore_lexmin().
|
static |
Definition at line 1796 of file isl_tab_pip.c.
References f, isl_tab_var::index, next_non_integer_var(), var(), and isl_tab::var.
Referenced by find_solutions().
|
static |
Definition at line 5069 of file isl_tab_pip.c.
References isl_lexmin_data::n_region, isl_trivial_region::pos, isl_lexmin_data::region, region_is_trivial(), isl_lexmin_data::tab, and isl_trivial_region::trivial.
Referenced by enter_level().
|
static |
Definition at line 5158 of file isl_tab_pip.c.
References add_lexmin_eq(), isl_vec::el, isl_mat_cols(), isl_seq_cpy(), isl_stat_error, isl_stat_ok, isl_vec_clr(), isl_local_region::region, and isl_lexmin_data::v.
Referenced by pick_side().
|
static |
Definition at line 5113 of file isl_tab_pip.c.
References add_lexmin_eq(), isl_vec::el, isl_int_is_zero, isl_int_set_si, isl_tab_mark_empty(), isl_vec_alloc(), isl_vec_clr(), isl_vec_free(), isl_vec_get_ctx(), n, isl_tab::n_var, and isl_local_region::n_zero.
Referenced by better_next_side().
|
static |
Definition at line 2993 of file isl_tab_pip.c.
References isl_tab::basis, isl_context_gbr::cone, cone, drop_constant_terms(), gbr_get_shifted_sample(), isl_basic_set_copy(), isl_basic_set_dup(), isl_basic_set_gauss(), isl_basic_set_sample_with_cone(), isl_basic_set_underlying_set(), isl_basic_set_update_from_tab(), isl_mat_free(), isl_tab_detect_implicit_equalities(), isl_tab_from_recession_cone(), isl_tab_get_sample_value(), isl_tab_peek_bset(), isl_tab_rollback(), isl_tab_sample(), isl_tab_sample_is_integer(), isl_tab_snap(), isl_tab_track_bset(), isl_vec_free(), isl_mat::n_col, isl_tab::n_col, isl_tab::n_dead, isl_tab::n_unbounded, isl_tab::n_var, isl_tab::n_zero, isl_vec::size, isl_context_gbr::tab, and use_shifted().
Referenced by check_gbr_integer_feasible().
|
static |
Definition at line 2952 of file isl_tab_pip.c.
References isl_mat::ctx, isl_tab::empty, gbr_init_shifted(), isl_tab_get_sample_value(), isl_vec_alloc(), isl_vec_ceil(), isl_tab::mat, isl_context_gbr::shifted, and isl_context_gbr::tab.
Referenced by gbr_get_sample().
|
static |
Definition at line 2917 of file isl_tab_pip.c.
References isl_mat::ctx, isl_basic_set_dim(), isl_dim_all, isl_int_add, isl_int_is_neg, isl_int_set, isl_tab_from_basic_set(), isl_tab_peek_bset(), isl_vec_alloc(), isl_vec_free(), isl_tab::mat, isl_context_gbr::shifted, and isl_context_gbr::tab.
Referenced by gbr_get_shifted_sample().
|
static |
Definition at line 2150 of file isl_tab_pip.c.
References add_div(), isl_tab::bmap, context, find_div(), isl_basic_map_dim(), isl_dim_div, and isl_tab::n_div.
Referenced by context_gbr_get_div(), and context_lex_get_div().
Definition at line 955 of file isl_tab_pip.c.
References isl_mat::ctx, get_row_parameter_line(), isl_int_set, isl_seq_fdiv_r(), isl_seq_neg(), isl_vec_alloc(), isl_tab::mat, isl_tab::n_div, isl_tab::n_param, normalize_div(), and isl_mat::row.
Referenced by add_parametric_cut().
Definition at line 905 of file isl_tab_pip.c.
References isl_mat::ctx, isl_vec::el, get_row_parameter_line(), isl_vec_alloc(), isl_vec_normalize(), isl_tab::mat, isl_tab::n_div, and isl_tab::n_param.
Referenced by best_split(), find_solutions(), and row_sign().
Definition at line 842 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_row, isl_int_set, isl_int_set_si, isl_tab::M, isl_tab::mat, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, and isl_tab::var.
Referenced by find_solutions_main(), get_row_parameter_div(), get_row_parameter_ineq(), and get_row_split_div().
Definition at line 983 of file isl_tab_pip.c.
References isl_mat::ctx, get_row_parameter_line(), isl_int_set, isl_seq_fdiv_r(), isl_vec_alloc(), isl_tab::mat, isl_tab::n_div, isl_tab::n_param, normalize_div(), and isl_mat::row.
Referenced by find_solutions().
|
static |
Definition at line 873 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_row, isl_int_ne, isl_tab::M, isl_tab::mat, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, pos(), isl_mat::row, and isl_tab::var.
Referenced by row_sign().
|
static |
Definition at line 1009 of file isl_tab_pip.c.
References isl_vec::el, isl_basic_set_dim(), isl_dim_all, isl_int_neg, isl_seq_cpy(), isl_vec_alloc(), and total().
Referenced by find_solutions().
|
static |
Definition at line 5236 of file isl_tab_pip.c.
References isl_basic_set_get_ctx(), isl_calloc_array, isl_stat_error, isl_stat_ok, isl_vec_alloc(), isl_lexmin_data::local, isl_lexmin_data::n_region, isl_tab::n_var, isl_lexmin_data::sol, isl_lexmin_data::tab, tab_for_lexmin(), and isl_lexmin_data::v.
Referenced by isl_tab_basic_set_non_trivial_lexmin().
|
static |
Definition at line 5274 of file isl_tab_pip.c.
References isl_mat_rows(), isl_stat_error, isl_stat_ok, isl_local_region::n, n, isl_local_region::n_zero, isl_lexmin_data::region, isl_local_region::region, isl_local_region::side, isl_trivial_region::trivial, and isl_local_region::update.
Referenced by enter_level().
|
static |
Definition at line 1741 of file isl_tab_pip.c.
References isl_int_is_divisible_by, isl_tab::mat, and isl_mat::row.
Referenced by next_non_integer_var().
|
static |
Definition at line 1696 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_row, isl_int_is_divisible_by, isl_tab::M, isl_tab::mat, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, and isl_tab::var.
Referenced by next_non_integer_var().
|
static |
Definition at line 1724 of file isl_tab_pip.c.
References col_is_parameter_var(), isl_int_is_divisible_by, isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_dead, and isl_mat::row.
Referenced by next_non_integer_var().
|
static |
Definition at line 1539 of file isl_tab_pip.c.
References isl_seq_first_non_zero(), isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_dead, and isl_mat::row.
Referenced by add_lexmin_eq().
|
static |
Definition at line 3744 of file isl_tab_pip.c.
References col_is_parameter_var(), isl_int_is_pos, isl_tab::M, isl_tab::mat, isl_tab::n_dead, and isl_mat::row.
Referenced by row_sign().
|
static |
Definition at line 1081 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_nonneg, isl_tab_var::is_row, isl_int_is_neg, isl_int_is_nonneg, isl_int_is_pos, isl_int_is_zero, isl_tab::M, isl_tab::mat, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, and isl_tab::var.
Referenced by first_neg().
|
static |
Definition at line 1130 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_nonneg, isl_tab_var::is_row, isl_int_is_neg, isl_int_is_pos, isl_int_is_zero, isl_tab::M, isl_tab::mat, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, and isl_tab::var.
Referenced by row_sign().
|
static |
Definition at line 5089 of file isl_tab_pip.c.
References isl_int_is_zero.
Referenced by enter_level().
|
static |
Definition at line 1236 of file isl_tab_pip.c.
References isl_tab::n_div, isl_tab::n_param, and isl_tab::n_var.
Referenced by col_is_parameter_var(), and row_is_parameter_var().
|
static |
Definition at line 1550 of file isl_tab_pip.c.
References col_is_parameter_var(), isl_int_is_zero, isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_dead, and isl_mat::row.
Referenced by best_split().
|
static |
Definition at line 3766 of file isl_tab_pip.c.
References isl_vec::el, gcd(), isl_int_clear, isl_int_fdiv_q, isl_int_init, isl_int_is_divisible_by, isl_int_is_one, isl_seq_gcd(), isl_seq_scale_down(), and isl_vec::size.
Referenced by find_solutions(), and row_sign().
|
static |
Definition at line 3646 of file isl_tab_pip.c.
References context, isl_basic_set_dim(), isl_basic_set_first_unknown_div(), isl_context_gbr_alloc(), isl_context_lex_alloc(), ISL_CONTEXT_LEXMIN, and isl_dim_div.
Referenced by sol_init().
|
static |
Definition at line 3613 of file isl_tab_pip.c.
References check_gbr_integer_feasible(), isl_context_gbr::cone, isl_context_gbr::context, isl_context_op::free, isl_calloc_type, isl_context_gbr_op, isl_tab_from_basic_set(), isl_tab_init_samples(), isl_context::op, isl_context_gbr::shifted, and isl_context_gbr::tab.
Referenced by isl_context_alloc().
|
static |
Definition at line 2846 of file isl_tab_pip.c.
References check_integer_feasible(), isl_context_lex::context, context_tab_for_lexmin(), isl_context_op::free, isl_alloc_type, isl_basic_set_copy(), isl_context_lex_op, isl_context::op, restore_lexmin(), and isl_context_lex::tab.
Referenced by isl_context_alloc().
__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 | ||
) |
Definition at line 5494 of file isl_tab_pip.c.
References better_next_side(), clear_lexmin_data(), isl_tab::conflict, isl_tab::conflict_user, enter_level(), init(), init_lexmin_data(), isl_basic_set_free(), isl_next_backtrack, isl_next_done, isl_vec_free(), isl_lexmin_data::local, isl_lexmin_data::n_op, isl_lexmin_data::n_region, pick_side(), isl_lexmin_data::region, isl_local_region::side, isl_lexmin_data::sol, isl_lexmin_data::tab, and user.
Referenced by solve_lp().
__isl_give isl_tab_lexmin * isl_tab_lexmin_add_eq | ( | __isl_take isl_tab_lexmin * | tl, |
isl_int * | eq | ||
) |
Definition at line 5613 of file isl_tab_pip.c.
References add_lexmin_ineq(), isl_seq_neg(), isl_tab_extend_cons(), isl_tab_lexmin_free(), and isl_tab::n_var.
Referenced by zero_out_node_coef().
__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().
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_null isl_tab_lexmin * isl_tab_lexmin_free | ( | __isl_take isl_tab_lexmin * | tl | ) |
Definition at line 5561 of file isl_tab_pip.c.
References isl_ctx_deref(), and isl_tab_free().
Referenced by isl_tab_lexmin_add_eq(), isl_tab_lexmin_cut_to_integer(), isl_tab_lexmin_from_basic_set(), non_neg_lexmin(), and zero_out_node_coef().
__isl_give isl_tab_lexmin * isl_tab_lexmin_from_basic_set | ( | __isl_take isl_basic_set * | bset | ) |
Definition at line 5576 of file isl_tab_pip.c.
References isl_tab_lexmin::ctx, isl_basic_set_free(), isl_basic_set_get_ctx(), isl_calloc_type, isl_ctx_ref(), isl_tab_lexmin_free(), isl_tab_lexmin::tab, and tab_for_lexmin().
Referenced by non_neg_lexmin().
__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().
Definition at line 3292 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_row, isl_int_is_zero, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, p, and isl_tab::var.
Referenced by propagate_equalities().
|
static |
Definition at line 1466 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_row, isl_int_is_negone, isl_int_is_one, isl_int_is_zero, isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_dead, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, and isl_tab::var.
Referenced by add_lexmin_valid_eq().
|
static |
Definition at line 1187 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_row, isl_int_is_neg, isl_int_is_pos, isl_int_mul, isl_int_sgn, isl_int_submul, isl_tab::M, isl_tab::mat, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_mat::row, and isl_tab::var.
Referenced by lexmin_pivot_col().
|
static |
Definition at line 1267 of file isl_tab_pip.c.
References col_is_parameter_var(), isl_mat::ctx, isl_assert, isl_int_clear, isl_int_init, isl_int_is_pos, lexmin_col_pair(), isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_dead, and isl_mat::row.
Referenced by restore_lexmin().
|
static |
Definition at line 4747 of file isl_tab_pip.c.
References isl_basic_map_dim(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_all, isl_int_is_negone, isl_int_is_nonneg, isl_int_is_zero, isl_seq_eq(), isl_seq_first_non_zero(), pos(), and total().
Referenced by need_split_basic_set(), and split_domain().
|
static |
Definition at line 4794 of file isl_tab_pip.c.
References bset_to_bmap(), and need_split_basic_map().
Referenced by need_split_set().
|
static |
Definition at line 4804 of file isl_tab_pip.c.
References isl_bool_false, need_split_basic_set(), set, and split().
Referenced by split_domain_pma().
|
static |
Definition at line 5806 of file isl_tab_pip.c.
References isl_aff_involves_dims(), isl_bool_error, isl_bool_false, isl_dim_in, and pos().
Referenced by split_domain_pma().
|
static |
Definition at line 1762 of file isl_tab_pip.c.
References f, I_CST, I_PAR, I_VAR, isl_tab_var::index, integer_constant(), integer_parameter(), integer_variable(), isl_tab_var::is_row, ISL_FL_ISSET, ISL_FL_SET, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, var(), and isl_tab::var.
Referenced by cut_to_integer_lexmin(), and first_non_integer_row().
|
static |
Definition at line 3954 of file isl_tab_pip.c.
References isl_context_op::add_ineq, isl_sol::context, isl_vec::el, isl_tab::empty, isl_sol::error, isl_int_add_ui, isl_int_sub_ui, isl_context::op, isl_context_op::restore, isl_context_op::save, and sol_add().
Referenced by find_solutions(), and find_solutions_main().
|
static |
Definition at line 928 of file isl_tab_pip.c.
References isl_vec::ctx, isl_int_divexact, isl_int_fdiv_q, isl_int_gcd, isl_int_is_one, isl_seq_gcd(), isl_seq_scale_down(), isl_vec_get_ctx(), and isl_ctx::normalize_gcd.
Referenced by get_row_parameter_div(), and get_row_split_div().
|
static |
Definition at line 4589 of file isl_tab_pip.c.
References constraint_equal(), count_occurrences(), isl_hash_table_entry::data, isl_basic_map_dim(), isl_basic_map_get_ctx(), isl_bool_error, isl_bool_ok(), isl_dim_div, isl_dim_in, isl_dim_out, isl_dim_param, isl_hash_table_alloc(), isl_hash_table_find(), isl_hash_table_free(), isl_seq_first_non_zero(), isl_seq_get_hash(), isl_constraint_equal_info::n_in, isl_constraint_equal_info::n_out, single_occurrence(), and isl_constraint_equal_info::val.
Referenced by SF().
|
static |
Definition at line 5425 of file isl_tab_pip.c.
References fix_zero(), isl_stat_error, isl_stat_ok, isl_tab_push_basis(), isl_tab_snap(), pos_neg(), isl_lexmin_data::region, isl_local_region::region, isl_local_region::side, isl_local_region::snap, and isl_lexmin_data::tab.
Referenced by isl_tab_basic_set_non_trivial_lexmin().
|
static |
Definition at line 5185 of file isl_tab_pip.c.
References add_lexmin_ineq(), isl_vec::el, isl_int_set_si, isl_mat_cols(), isl_seq_cpy(), isl_seq_neg(), isl_tab_free(), isl_vec_clr(), isl_trivial_region::pos, isl_mat::row, isl_trivial_region::trivial, and isl_lexmin_data::v.
Referenced by pick_side().
|
static |
Definition at line 3330 of file isl_tab_pip.c.
References isl_tab::bmap, isl_tab::con, isl_mat::ctx, isl_vec::el, isl_tab_var::index, isl_basic_map::ineq, isl_int_is_negone, isl_int_is_one, isl_seq_clr(), isl_seq_cpy(), isl_tab_add_row(), isl_tab_clear_undo(), isl_tab_extend_cons(), isl_tab_free(), isl_tab_kill_col(), isl_tab_need_undo(), isl_tab_pivot(), isl_tab_rollback(), isl_tab_snap(), isl_vec_alloc(), isl_vec_free(), last_non_zero_var_col(), isl_tab::M, isl_tab::mat, isl_tab::n_div, isl_basic_map::n_ineq, isl_tab::n_param, isl_tab::n_var, restore_lexmin(), isl_mat::row, and isl_context_gbr::tab.
Referenced by context_gbr_detect_equalities().
|
static |
Definition at line 5012 of file isl_tab_pip.c.
References extract_sample_sequence(), is_trivial(), isl_bool_error, isl_bool_false, isl_mat_cols(), isl_mat_copy(), isl_mat_rows(), isl_mat_vec_product(), isl_vec_free(), isl_vec_is_zero(), n, and pos().
Referenced by first_trivial_region().
|
static |
Definition at line 1384 of file isl_tab_pip.c.
References col_is_parameter_var(), isl_tab::col_var, isl_tab::conflict, isl_int_is_neg, isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_dead, report_conflicting_constraint(), isl_mat::row, and isl_tab::row_var.
Referenced by restore_lexmin().
|
static |
Definition at line 1374 of file isl_tab_pip.c.
References isl_tab::con, isl_tab::conflict, and isl_tab::conflict_user.
Referenced by report_conflict().
|
static |
Definition at line 3986 of file isl_tab_pip.c.
References isl_tab_row_any, isl_tab_row_unknown, isl_tab_var_from_row(), isl_tab::n_redundant, and isl_tab::row_sign.
Referenced by find_solutions().
|
static |
Definition at line 1420 of file isl_tab_pip.c.
References isl_tab::empty, first_neg(), isl_tab_mark_empty(), isl_tab_pivot(), lexmin_pivot_col(), isl_tab::n_col, and report_conflict().
Referenced by add_lexmin_eq(), add_lexmin_ineq(), cut_to_integer_lexmin(), find_solutions(), isl_context_lex_alloc(), propagate_equalities(), and tab_for_lexmin().
|
static |
Definition at line 1256 of file isl_tab_pip.c.
References is_parameter_var(), and isl_tab::row_var.
Referenced by find_solutions_main().
|
static |
Definition at line 3839 of file isl_tab_pip.c.
References isl_sol::context, isl_vec::el, get_row_parameter_ineq(), identical_parameter_line(), isl_context_op::ineq_sign, is_critical(), is_obviously_nonneg(), is_strict(), isl_int_sub_ui, isl_seq_neg(), isl_tab_row_any, isl_tab_row_neg, isl_tab_row_pos, isl_tab_row_unknown, isl_vec_free(), isl_tab::n_redundant, isl_context::op, res, isl_tab::row_sign, isl_vec::size, and isl_context_op::test_ineq.
Referenced by find_solutions(), and update_row_sign().
|
static |
Definition at line 392 of file isl_tab_pip.c.
References isl_bool_false, isl_bool_true, and isl_partial_sol::ma.
Referenced by combine_initial_if_equal().
|
static |
Definition at line 1954 of file isl_tab_pip.c.
References isl_tab_var::index, isl_tab_var::is_row, isl_int_ne, isl_tab::M, isl_tab::mat, isl_tab::n_var, isl_mat::row, and isl_tab::var.
Referenced by check_integer_feasible().
Definition at line 612 of file isl_tab_pip.c.
References isl_int_is_one, isl_seq_scale(), m, isl_tab::mat, isl_mat::n_col, isl_tab::n_row, and isl_mat::row.
Referenced by sol_add().
|
static |
Definition at line 4660 of file isl_tab_pip.c.
References isl_basic_set_alloc_inequality(), isl_basic_set_finalize(), isl_basic_set_free(), isl_int_set_si, isl_int_sub_ui, isl_mat_get_ctx(), isl_seq_combine(), isl_ctx::negone, isl_ctx::one, and var().
Referenced by set_minimum(), and set_minimum_pa().
|
static |
Definition at line 274 of file isl_tab_pip.c.
References aff, check_final_columns_are_zero(), isl_aff_alloc(), isl_aff_normalize(), isl_dim_all, isl_int_set, isl_local_space_copy(), isl_local_space_dim(), isl_local_space_free(), isl_mat_free(), isl_seq_cpy(), M(), and ma.
Referenced by sol_push_sol_mat().
|
static |
Definition at line 4702 of file isl_tab_pip.c.
References isl_basic_set_alloc_equality(), isl_basic_set_alloc_space(), isl_basic_set_free(), isl_int_set_si, isl_mat_free(), isl_seq_cpy(), isl_set_add_basic_set(), isl_set_alloc_space(), ISL_SET_DISJOINT, isl_set_free(), isl_space_copy(), isl_space_free(), select_minimum(), set, and var().
Referenced by basic_map_partial_lexopt_symm_core().
|
static |
Definition at line 5846 of file isl_tab_pip.c.
References aff, isl_aff_alloc(), isl_aff_free(), isl_basic_set_alloc_space(), isl_basic_set_free(), isl_dim_out, isl_int_set_si, isl_local_space_copy(), isl_local_space_free(), isl_local_space_from_space(), isl_mat_free(), isl_pw_aff_add_disjoint(), isl_pw_aff_alloc(), isl_pw_aff_alloc_size(), isl_pw_aff_free(), isl_seq_cpy(), isl_set_from_basic_set(), isl_space_add_dims(), isl_space_copy(), isl_space_free(), isl_space_from_domain(), select_minimum(), and var().
Definition at line 1044 of file isl_tab_pip.c.
References isl_mat::ctx, isl_tab_var::index, isl_tab_var::is_row, isl_assert, isl_int_add_ui, isl_int_is_one, isl_int_set_si, isl_seq_combine(), isl_seq_fdiv_q(), isl_tab_free(), isl_tab::M, isl_tab::mat, isl_tab::n_col, isl_tab::n_div, isl_tab::n_var, isl_ctx::one, isl_mat::row, and isl_tab::var.
Referenced by find_solutions().
|
static |
Definition at line 4519 of file isl_tab_pip.c.
References isl_int_is_zero, and n.
Referenced by parallel_constraints().
Definition at line 672 of file isl_tab_pip.c.
References isl_sol::add_empty, isl_sol::context, isl_mat::ctx, isl_tab::empty, isl_sol::error, isl_tab_var::index, isl_context_op::is_empty, isl_tab_var::is_row, isl_basic_set_free(), isl_die, isl_error_invalid, isl_int_clear, isl_int_divexact, isl_int_gcd, isl_int_init, isl_int_mul, isl_int_ne, isl_int_set_si, isl_mat_alloc(), isl_mat_free(), isl_seq_clr(), isl_seq_neg(), isl_tab::M, m, isl_tab::mat, isl_sol::max, isl_mat::n_col, isl_tab::n_div, isl_sol::n_out, isl_tab::n_param, isl_tab::n_var, isl_context::op, isl_mat::row, scale_rows(), sol_domain(), sol_push_sol(), sol_push_sol_mat(), and isl_tab::var.
Referenced by find_solutions(), and no_sol_in_strict().
|
static |
Definition at line 574 of file isl_tab_pip.c.
References isl_sol::error, isl_sol::level, and sol_pop().
Referenced by sol_dec_level_wrap().
|
static |
Definition at line 584 of file isl_tab_pip.c.
References isl_sol_callback::callback, isl_stat_error, isl_stat_ok, and sol_dec_level().
Referenced by sol_init().
|
static |
Definition at line 376 of file isl_tab_pip.c.
References isl_sol::context, isl_sol::error, isl_basic_set_dup(), isl_basic_set_update_from_tab(), isl_context::op, isl_context_op::peek_basic_set, and isl_context_op::peek_tab.
Referenced by combine_initial_into_second(), and sol_add().
|
static |
Definition at line 198 of file isl_tab_pip.c.
References isl_sol::context, isl_partial_sol::dom, isl_context_op::free, isl_sol::free, isl_basic_set_free(), isl_space_free(), isl_partial_sol::ma, isl_partial_sol::next, isl_context::op, isl_sol::partial, and isl_sol::space.
Referenced by basic_map_partial_lexopt_base(), basic_map_partial_lexopt_base_pw_multi_aff(), basic_map_partial_lexopt_base_sol(), sol_map_init(), and sol_pma_init().
|
static |
Definition at line 4213 of file isl_tab_pip.c.
References isl_sol::error, isl_partial_sol::level, isl_partial_sol::next, and isl_sol::partial.
Referenced by find_solutions_main().
|
static |
Definition at line 599 of file isl_tab_pip.c.
References isl_sol_callback::callback, isl_sol::context, isl_sol::dec_level, isl_sol::error, isl_tab_push_callback(), isl_sol::level, isl_context::op, and isl_context_op::peek_tab.
Referenced by find_solutions(), and find_solutions_main().
|
static |
Definition at line 3679 of file isl_tab_pip.c.
References isl_sol_callback::callback, isl_sol::context, isl_sol::dec_level, isl_basic_map_dim(), isl_basic_map_get_space(), ISL_BASIC_MAP_RATIONAL, isl_context_alloc(), isl_dim_out, ISL_F_ISSET, isl_stat_error, isl_stat_ok, isl_sol::max, isl_sol::n_out, isl_sol::rational, isl_tab_callback::run, isl_sol_callback::sol, sol_dec_level_wrap(), and isl_sol::space.
Referenced by sol_map_init(), and sol_pma_init().
|
static |
Definition at line 807 of file isl_tab_pip.c.
References isl_sol::error, isl_basic_map_from_multi_aff2(), isl_basic_map_intersect_domain(), isl_basic_set_free(), isl_map_add_basic_map(), isl_map_grow(), ma, isl_sol::rational, and isl_sol_map::sol.
Referenced by sol_map_add_wrap().
|
static |
Definition at line 778 of file isl_tab_pip.c.
References isl_sol::error, isl_basic_set_copy(), isl_basic_set_finalize(), isl_basic_set_free(), isl_basic_set_simplify(), isl_set_add_basic_set(), isl_set_grow(), and isl_sol_map::sol.
Referenced by sol_map_add_empty_wrap().
|
static |
Definition at line 797 of file isl_tab_pip.c.
References isl_sol_map::sol, and sol_map_add_empty().
Referenced by sol_map_init().
|
static |
Definition at line 828 of file isl_tab_pip.c.
References ma, isl_sol_map::sol, and sol_map_add().
Referenced by sol_map_init().
|
static |
Definition at line 767 of file isl_tab_pip.c.
References isl_sol_map::empty, isl_map_free(), isl_set_free(), isl_sol_map::map, and isl_sol_map::sol.
Referenced by sol_map_init().
|
static |
Definition at line 3703 of file isl_tab_pip.c.
References isl_sol::add, isl_sol::add_empty, isl_sol_map::empty, isl_sol::free, isl_basic_set_free(), isl_basic_set_get_space(), isl_calloc_type, isl_map_alloc_space(), ISL_MAP_DISJOINT, isl_set_alloc_space(), ISL_SET_DISJOINT, isl_space_copy(), isl_sol_map::map, isl_sol_map::sol, sol_free(), sol_init(), sol_map_add_empty_wrap(), sol_map_add_wrap(), sol_map_free(), and isl_sol::space.
Referenced by basic_map_partial_lexopt_base().
|
static |
Definition at line 5703 of file isl_tab_pip.c.
References isl_sol::error, isl_basic_set_finalize(), isl_basic_set_simplify(), isl_pw_multi_aff_add_disjoint(), isl_pw_multi_aff_alloc(), isl_set_from_basic_set(), pma, and isl_sol_pma::sol.
Referenced by sol_pma_add_wrap().
|
static |
Definition at line 5680 of file isl_tab_pip.c.
References isl_sol::error, isl_basic_set_finalize(), isl_basic_set_free(), isl_basic_set_simplify(), isl_set_add_basic_set(), isl_set_grow(), and isl_sol_pma::sol.
Referenced by sol_pma_add_empty_wrap().
|
static |
Definition at line 5716 of file isl_tab_pip.c.
References isl_sol_pma::sol, and sol_pma_add_empty().
Referenced by sol_pma_init().
|
static |
Definition at line 5722 of file isl_tab_pip.c.
References ma, isl_sol_pma::sol, and sol_pma_add().
Referenced by sol_pma_init().
|
static |
Definition at line 5669 of file isl_tab_pip.c.
References isl_sol_pma::empty, isl_pw_multi_aff_free(), isl_set_free(), isl_sol_pma::pma, and isl_sol_pma::sol.
Referenced by sol_pma_init().
|
static |
Definition at line 5735 of file isl_tab_pip.c.
References isl_sol::add, isl_sol::add_empty, isl_sol_pma::empty, isl_sol::free, isl_basic_set_free(), isl_basic_set_get_space(), isl_calloc_type, isl_pw_multi_aff_empty(), isl_set_alloc_space(), ISL_SET_DISJOINT, isl_space_copy(), isl_sol_pma::pma, isl_sol_pma::sol, sol_free(), sol_init(), sol_pma_add_empty_wrap(), sol_pma_add_wrap(), sol_pma_free(), and isl_sol::space.
Referenced by basic_map_partial_lexopt_base_pw_multi_aff().
|
static |
Definition at line 538 of file isl_tab_pip.c.
References combine_initial_if_equal(), isl_sol::error, isl_partial_sol::level, isl_sol::level, isl_partial_sol::next, isl_sol::partial, and sol_pop_one().
Referenced by find_solutions_main(), and sol_dec_level().
|
static |
Definition at line 360 of file isl_tab_pip.c.
References isl_sol::add, isl_sol::add_empty, isl_partial_sol::dom, isl_partial_sol::ma, isl_partial_sol::next, and isl_sol::partial.
Referenced by combine_initial_if_equal(), and sol_pop().
|
static |
Definition at line 221 of file isl_tab_pip.c.
References isl_partial_sol::dom, isl_sol::error, isl_alloc_type, isl_basic_set_free(), isl_partial_sol::level, isl_sol::level, isl_partial_sol::ma, ma, isl_partial_sol::next, and isl_sol::partial.
Referenced by sol_add(), and sol_push_sol_mat().
|
static |
Definition at line 328 of file isl_tab_pip.c.
References isl_sol::context, isl_partial_sol::dom, isl_basic_set_dim(), isl_basic_set_free(), isl_basic_set_get_local_space(), isl_dim_div, isl_local_space_drop_dims(), isl_mat_free(), isl_space_copy(), M(), ma, isl_context::n_unknown, set_from_affine_matrix(), sol_push_sol(), and isl_sol::space.
Referenced by sol_add().
|
static |
Definition at line 4881 of file isl_tab_pip.c.
References isl_map_domain(), isl_map_from_domain(), map, and split_domain().
Referenced by basic_map_partial_lexopt_symm_core(), best_split(), compute_sub_schedule(), find_solutions(), free_split(), isl_map_print_latex(), isl_scc_graph_decompose(), need_split_set(), print_body_map(), print_split_map(), split_aff(), split_domain(), and split_domain_pma().
|
static |
Definition at line 4832 of file isl_tab_pip.c.
References isl_basic_map_copy(), isl_dim_in, isl_map_dim(), isl_map_empty(), isl_map_free(), isl_map_from_basic_map(), isl_map_get_space(), isl_map_intersect_domain(), isl_map_remove_dims(), isl_map_union_disjoint(), isl_mat_free(), isl_set_copy(), isl_set_free(), isl_space_drop_dims(), map, isl_constraint_equal_info::n_in, need_split_basic_map(), res, and split().
Referenced by basic_map_partial_lexopt_symm_core(), and split().
|
static |
Definition at line 5907 of file isl_tab_pip.c.
References isl_dim_in, isl_mat_free(), isl_pw_aff_free(), isl_pw_multi_aff_add_disjoint(), isl_pw_multi_aff_alloc(), isl_pw_multi_aff_dim(), isl_pw_multi_aff_empty(), isl_pw_multi_aff_free(), isl_pw_multi_aff_get_space(), isl_pw_multi_aff_intersect_domain(), isl_pw_multi_aff_project_out(), isl_pw_multi_aff_substitute(), isl_set_copy(), isl_set_free(), isl_space_drop_dims(), need_split_set(), need_substitution(), pma, res, and split().
|
static |
Definition at line 413 of file isl_tab_pip.c.
References isl_partial_sol::next, and isl_sol::partial.
Referenced by combine_initial_if_equal().
|
static |
Definition at line 2714 of file isl_tab_pip.c.
References isl_tab::con, isl_mat::ctx, isl_vec::el, isl_tab::empty, isl_tab_var::is_nonneg, isl_int_set_si, isl_mat_drop_cols(), isl_seq_clr(), isl_tab_add_ineq(), isl_tab_extend_cons(), isl_tab_free(), isl_tab_min_at_most_neg_one(), isl_tab_rollback(), isl_tab_snap(), isl_vec_alloc(), isl_vec_free(), isl_tab::M, isl_tab::mat, n, isl_tab::n_con, isl_tab::n_div, isl_tab::n_param, isl_tab::n_var, isl_vec::size, var(), and isl_tab::var.
Referenced by context_gbr_detect_nonnegative_parameters(), and context_lex_detect_nonnegative_parameters().
|
static |
Definition at line 2300 of file isl_tab_pip.c.
References add_lexmin_ineq(), add_lexmin_valid_eq(), isl_tab::bmap, isl_basic_map::ctx, isl_tab::empty, isl_basic_map::eq, isl_tab_var::frozen, isl_basic_map::ineq, isl_tab_var::is_nonneg, isl_basic_map_dim(), ISL_BASIC_MAP_EMPTY, ISL_BASIC_MAP_RATIONAL, isl_basic_set_dim(), isl_calloc_array, isl_dim_all, ISL_F_ISSET, isl_seq_neg(), isl_tab_alloc(), isl_tab_free(), isl_tab_mark_empty(), M(), isl_tab::mat, isl_tab::n_div, isl_basic_map::n_eq, isl_basic_map::n_ineq, isl_tab::n_param, isl_mat::n_row, isl_tab::n_var, isl_tab::rational, restore_lexmin(), isl_tab::row_sign, total(), and isl_tab::var.
Referenced by basic_map_partial_lexopt_base_sol(), context_tab_for_lexmin(), init_lexmin_data(), and isl_tab_lexmin_from_basic_set().
Definition at line 2016 of file isl_tab_pip.c.
References isl_tab::bmap, isl_mat::ctx, isl_assert, isl_int_clear, isl_int_init, isl_int_sgn, isl_seq_inner_product(), isl_tab::mat, isl_mat::n_col, isl_tab::n_outside, isl_tab::n_sample, isl_tab::n_var, isl_mat::row, isl_tab::samples, and sgn().
Referenced by context_gbr_add_eq(), context_gbr_add_ineq(), context_lex_add_eq(), and context_lex_add_ineq().
|
static |
Definition at line 2543 of file isl_tab_pip.c.
References isl_mat::ctx, isl_assert, isl_int_clear, isl_int_init, isl_int_sgn, isl_seq_inner_product(), isl_tab_row_any, isl_tab_row_neg, isl_tab_row_pos, isl_tab_row_unknown, isl_tab::mat, isl_mat::n_col, isl_tab::n_outside, isl_tab::n_var, res, isl_mat::row, isl_tab::samples, and sgn().
Referenced by context_gbr_ineq_sign(), and context_lex_ineq_sign().
|
static |
Definition at line 5263 of file isl_tab_pip.c.
References isl_lexmin_data::local, and isl_local_region::update.
Referenced by enter_level().
|
static |
Definition at line 2986 of file isl_tab_pip.c.
References isl_tab::bmap, isl_basic_map::n_div, isl_basic_map::n_eq, and isl_context_gbr::tab.
Referenced by add_gbr_ineq(), context_gbr_add_eq(), and gbr_get_sample().
struct isl_context_op isl_context_gbr_op |
Definition at line 3592 of file isl_tab_pip.c.
Referenced by isl_context_gbr_alloc().
struct isl_context_op isl_context_lex_op |
Definition at line 2809 of file isl_tab_pip.c.
Referenced by isl_context_lex_alloc().