Polly 20.0.0git
Functions
isl_vec.c File Reference
#include <isl_ctx_private.h>
#include <isl_seq.h>
#include <isl_val_private.h>
#include <isl_vec_private.h>

Go to the source code of this file.

Functions

isl_ctxisl_vec_get_ctx (__isl_keep isl_vec *vec)
 
uint32_t isl_vec_get_hash (__isl_keep isl_vec *vec)
 
__isl_give isl_vecisl_vec_alloc (struct isl_ctx *ctx, unsigned size)
 
__isl_give isl_vecisl_vec_extend (__isl_take isl_vec *vec, unsigned size)
 
__isl_give isl_vecisl_vec_expand (__isl_take isl_vec *vec, int pos, int n, int *exp, int expanded)
 
__isl_give isl_vecisl_vec_zero (isl_ctx *ctx, unsigned size)
 
__isl_give isl_vecisl_vec_zero_extend (__isl_take isl_vec *vec, unsigned size)
 
__isl_give isl_vecisl_vec_concat (__isl_take isl_vec *vec1, __isl_take isl_vec *vec2)
 
__isl_give isl_vecisl_vec_copy (__isl_keep isl_vec *vec)
 
__isl_give isl_vecisl_vec_dup (__isl_keep isl_vec *vec)
 
__isl_give isl_vecisl_vec_cow (__isl_take isl_vec *vec)
 
__isl_null isl_vecisl_vec_free (__isl_take isl_vec *vec)
 
isl_size isl_vec_size (__isl_keep isl_vec *vec)
 
__isl_give isl_valisl_vec_get_element_val (__isl_keep isl_vec *vec, int pos)
 
__isl_give isl_vecisl_vec_set_element (__isl_take isl_vec *vec, int pos, isl_int v)
 
__isl_give isl_vecisl_vec_set_element_si (__isl_take isl_vec *vec, int pos, int v)
 
__isl_give isl_vecisl_vec_set_element_val (__isl_take isl_vec *vec, int pos, __isl_take isl_val *v)
 
int isl_vec_cmp_element (__isl_keep isl_vec *vec1, __isl_keep isl_vec *vec2, int pos)
 
isl_bool isl_vec_is_zero (__isl_keep isl_vec *vec)
 
isl_bool isl_vec_is_equal (__isl_keep isl_vec *vec1, __isl_keep isl_vec *vec2)
 
__isl_give isl_printerisl_printer_print_vec (__isl_take isl_printer *printer, __isl_keep isl_vec *vec)
 
void isl_vec_dump (__isl_keep isl_vec *vec)
 
__isl_give isl_vecisl_vec_set (__isl_take isl_vec *vec, isl_int v)
 
__isl_give isl_vecisl_vec_set_si (__isl_take isl_vec *vec, int v)
 
__isl_give isl_vecisl_vec_set_val (__isl_take isl_vec *vec, __isl_take isl_val *v)
 
__isl_give isl_vecisl_vec_clr (__isl_take isl_vec *vec)
 
void isl_vec_lcm (__isl_keep isl_vec *vec, isl_int *lcm)
 
__isl_give isl_vecisl_vec_ceil (__isl_take isl_vec *vec)
 
__isl_give isl_vecisl_vec_normalize (__isl_take isl_vec *vec)
 
__isl_give isl_vecisl_vec_neg (__isl_take isl_vec *vec)
 
__isl_give isl_vecisl_vec_scale (__isl_take isl_vec *vec, isl_int m)
 
__isl_give isl_vecisl_vec_fdiv_r (__isl_take isl_vec *vec, isl_int m)
 
__isl_give isl_vecisl_vec_add (__isl_take isl_vec *vec1, __isl_take isl_vec *vec2)
 
static int qsort_int_cmp (const void *p1, const void *p2)
 
__isl_give isl_vecisl_vec_sort (__isl_take isl_vec *vec)
 
__isl_give isl_vecisl_vec_drop_els (__isl_take isl_vec *vec, unsigned pos, unsigned n)
 
__isl_give isl_vecisl_vec_insert_els (__isl_take isl_vec *vec, unsigned pos, unsigned n)
 
__isl_give isl_vecisl_vec_add_els (__isl_take isl_vec *vec, unsigned n)
 
__isl_give isl_vecisl_vec_insert_zero_els (__isl_take isl_vec *vec, unsigned pos, unsigned n)
 
__isl_give isl_vecisl_vec_move_els (__isl_take isl_vec *vec, unsigned dst_pos, unsigned src_pos, unsigned n)
 
__isl_give isl_vecisl_vec_reorder (__isl_take isl_vec *vec, unsigned offset, __isl_take isl_reordering *r)
 

Function Documentation

◆ isl_printer_print_vec()

__isl_give isl_printer * isl_printer_print_vec ( __isl_take isl_printer printer,
__isl_keep isl_vec vec 
)

Definition at line 352 of file isl_vec.c.

References isl_printer_free(), isl_printer_print_isl_int(), and isl_printer_print_str().

Referenced by isl_vec_dump(), and main().

◆ isl_vec_add()

__isl_give isl_vec * isl_vec_add ( __isl_take isl_vec vec1,
__isl_take isl_vec vec2 
)

Definition at line 497 of file isl_vec.c.

References isl_assert, isl_seq_combine(), isl_vec_cow(), and isl_vec_free().

◆ isl_vec_add_els()

__isl_give isl_vec * isl_vec_add_els ( __isl_take isl_vec vec,
unsigned  n 
)

Definition at line 591 of file isl_vec.c.

References isl_vec_insert_els(), and n.

Referenced by isl_local_extend_point_vec().

◆ isl_vec_alloc()

__isl_give isl_vec * isl_vec_alloc ( struct isl_ctx ctx,
unsigned  size 
)

Definition at line 33 of file isl_vec.c.

References isl_vec::block, isl_vec::ctx, isl_blk::data, isl_vec::el, isl_alloc_type, isl_blk_alloc(), isl_blk_free(), isl_blk_is_error(), isl_ctx_ref(), isl_vec::ref, size, and isl_vec::size.

Referenced by add_sub_equalities(), basic_set_maximal_difference_at(), box_closure_on_domain(), can_wrap_in_facet(), check_eq_adj_eq(), compute_carrying_sol(), compute_max_coefficient(), create_todo(), detect_constant_with_tmp(), drop_more_redundant_divs(), empty_sample(), extract_coefficients(), extract_integer_sample(), extract_sample_sequence(), extract_var_coef(), factored_sample(), find_solutions_main(), fix_constant_divs(), force_better_solution(), gbr_get_shifted_sample(), gbr_init_shifted(), get_row_parameter_div(), get_row_parameter_ineq(), get_row_split_div(), ineq_for_div(), init_lexmin_data(), init_lp(), interval_sample(), is_adj_ineq_extension(), isl_aff_alloc(), isl_ast_build_init_derived(), isl_ast_build_product(), isl_basic_map_constraint(), isl_basic_map_plain_is_disjoint(), isl_basic_map_reduce_coefficients(), isl_basic_set_scan(), isl_basic_set_vars_get_sign(), isl_cell_foreach_simplex(), isl_constraint_alloc(), isl_map_solve_lp(), isl_mat_get_row(), isl_mat_parameter_compression_ext(), isl_mat_vec_inverse_product(), isl_mat_vec_product(), isl_multi_aff_from_aff_mat(), isl_point_void(), isl_point_zero(), isl_qpolynomial_extract_affine(), isl_qpolynomial_sign(), isl_set_wrap_facet(), isl_tab_compute_reduced_basis(), isl_tab_detect_equalities(), isl_tab_get_sample_value(), isl_tab_lexmin_get_solution(), isl_tab_min(), isl_tab_sample(), isl_vec_dup(), isl_vec_insert_els(), isl_vec_lin_to_aff(), isl_vec_mat_product(), isl_vec_move_els(), isl_vec_read_polylib(), isl_vec_reorder(), isl_vec_zero(), make_divs_pos(), node_add_coefficient_constraints(), non_neg_lexmin(), normalize_divs(), opt_at(), outside_point(), preimage(), print_constraints(), propagate_equalities(), pw_multi_aff_from_map_div(), sample_bounded(), scan_0D(), sched_info_alloc(), set_max_coefficient(), SF(), singleton_extract_point(), solve_ilp_with_eq(), tab_add_constraint(), tab_add_constraints(), tab_add_divs(), tab_detect_nonnegative_parameters(), tab_for_shifted_cone(), tab_shift_cone(), tighten_on_relaxed_facet(), valid_direction(), vec_concat(), zero_out_node_coef(), and zero_sample().

◆ isl_vec_ceil()

__isl_give isl_vec * isl_vec_ceil ( __isl_take isl_vec vec)

◆ isl_vec_clr()

__isl_give isl_vec * isl_vec_clr ( __isl_take isl_vec vec)

◆ isl_vec_cmp_element()

int isl_vec_cmp_element ( __isl_keep isl_vec vec1,
__isl_keep isl_vec vec2,
int  pos 
)

Definition at line 321 of file isl_vec.c.

References isl_die, isl_error_invalid, isl_int_cmp, isl_vec_get_ctx(), and pos().

Referenced by before(), and coscheduled().

◆ isl_vec_concat()

__isl_give isl_vec * isl_vec_concat ( __isl_take isl_vec vec1,
__isl_take isl_vec vec2 
)

Definition at line 168 of file isl_vec.c.

References isl_seq_cpy(), isl_vec_extend(), and isl_vec_free().

Referenced by isl_ast_build_product().

◆ isl_vec_copy()

__isl_give isl_vec * isl_vec_copy ( __isl_keep isl_vec vec)

◆ isl_vec_cow()

__isl_give isl_vec * isl_vec_cow ( __isl_take isl_vec vec)

◆ isl_vec_drop_els()

__isl_give isl_vec * isl_vec_drop_els ( __isl_take isl_vec vec,
unsigned  pos,
unsigned  n 
)

◆ isl_vec_dump()

void isl_vec_dump ( __isl_keep isl_vec vec)

◆ isl_vec_dup()

__isl_give isl_vec * isl_vec_dup ( __isl_keep isl_vec vec)

Definition at line 207 of file isl_vec.c.

References isl_vec::el, isl_seq_cpy(), and isl_vec_alloc().

Referenced by isl_vec_cow().

◆ isl_vec_expand()

__isl_give isl_vec * isl_vec_expand ( __isl_take isl_vec vec,
int  pos,
int  n,
int *  exp,
int  expanded 
)

◆ isl_vec_extend()

__isl_give isl_vec * isl_vec_extend ( __isl_take isl_vec vec,
unsigned  size 
)

◆ isl_vec_fdiv_r()

__isl_give isl_vec * isl_vec_fdiv_r ( __isl_take isl_vec vec,
isl_int  m 
)

Definition at line 486 of file isl_vec.c.

References isl_seq_fdiv_r(), isl_vec_cow(), and m.

◆ isl_vec_free()

__isl_null isl_vec * isl_vec_free ( __isl_take isl_vec vec)

Definition at line 234 of file isl_vec.c.

References isl_blk_free(), and isl_ctx_deref().

Referenced by add_adjacent_points(), add_div_constraints(), add_parametric_cut(), add_sub_equalities(), affine_hull_with_cone(), basic_set_maximal_difference_at(), basic_set_sample(), best_split(), box_closure_on_domain(), can_wrap_in_facet(), carry(), check_eq_adj_eq(), check_gbr_integer_feasible(), clear_lexmin_data(), clear_node(), compute_carrying_sol(), compute_chambers(), compute_max_coefficient(), convex_hull_pair_pointed(), delete_lp(), detect_constant_with_tmp(), enter_level(), equalities_in_underlying_set(), extend_affine_hull(), extract_coefficients(), factor_sample(), factored_sample(), find_node_coalescing(), find_solutions(), find_solutions_main(), fix_constant_divs(), force_better_solution(), free_todo(), gbr_get_sample(), gbr_init_shifted(), increment_counter(), initial_hull(), interval_sample(), is_adj_ineq_extension(), is_trivial(), isl_aff_alloc_vec(), isl_aff_alloc_vec_validated(), isl_aff_free(), isl_ast_build_free(), isl_ast_build_init_derived(), isl_basic_map_contains_point(), isl_basic_map_detect_equalities(), isl_basic_map_free(), isl_basic_map_from_qpolynomial(), isl_basic_map_intersect(), isl_basic_map_is_empty(), isl_basic_map_plain_is_disjoint(), isl_basic_map_reduce_coefficients(), isl_basic_map_sample(), isl_basic_map_set_to_empty(), isl_basic_set_from_vec(), isl_basic_set_scan(), isl_basic_set_vars_get_sign(), isl_cell_foreach_simplex(), isl_constraint_alloc_vec(), isl_constraint_free(), isl_local_extend_point_vec(), isl_local_space_add_div(), isl_map_solve_lp(), isl_mat_from_row_vec(), isl_mat_parameter_compression(), isl_mat_vec_inverse_product(), isl_mat_vec_product(), isl_morph_vec(), isl_point_alloc(), isl_point_free(), isl_point_restore_vec(), isl_poly_eval(), isl_qpolynomial_aff_sign(), isl_qpolynomial_extract_affine(), isl_qpolynomial_sign(), isl_schedule_node_compute_wcc_band(), isl_set_wrap_facet(), isl_tab_add_sample(), isl_tab_basic_set_non_trivial_lexmin(), isl_tab_compute_reduced_basis(), isl_tab_detect_equalities(), isl_tab_free(), isl_tab_min(), isl_tab_sample(), isl_vec_add(), isl_vec_concat(), isl_vec_cow(), isl_vec_drop_els(), isl_vec_expand(), isl_vec_extend(), isl_vec_insert_els(), isl_vec_lin_to_aff(), isl_vec_mat_product(), isl_vec_move_els(), isl_vec_read_polylib(), isl_vec_reorder(), isl_vec_set_element(), isl_vec_set_element_si(), isl_vec_set_element_val(), isl_vec_set_val(), isl_vertices_foreach_disjoint_cell(), main(), make_divs_pos(), node_add_coefficient_constraints(), non_empty_solution(), non_neg_lexmin(), opt_at(), outside_point(), plug_in(), plug_in_integral_divs(), plug_in_parameters(), preimage(), print_constraints(), propagate_equalities(), region_is_trivial(), round_up_in_cone(), row_sign(), sample_bounded(), scan_one(), scan_samples_add_sample(), sched_info_free(), set_plug_in_parameters(), SF(), shift_cone(), singleton_extract_point(), solve_ilp(), solve_ilp_search(), solve_ilp_with_eq(), solve_lp(), swap_div(), tab_add_constraint(), tab_add_constraints(), tab_add_divs(), tab_detect_nonnegative_parameters(), tab_for_shifted_cone(), tab_shift_cone(), test_ineq_data_clear(), tighten_on_relaxed_facet(), try_tightening(), update_schedule(), uset_affine_hull_bounded(), valid_direction(), vec_concat(), and zero_out_node_coef().

◆ isl_vec_get_ctx()

isl_ctx * isl_vec_get_ctx ( __isl_keep isl_vec vec)

◆ isl_vec_get_element_val()

__isl_give isl_val * isl_vec_get_element_val ( __isl_keep isl_vec vec,
int  pos 
)

◆ isl_vec_get_hash()

uint32_t isl_vec_get_hash ( __isl_keep isl_vec vec)

Definition at line 25 of file isl_vec.c.

References isl_seq_get_hash().

Referenced by isl_aff_get_hash().

◆ isl_vec_insert_els()

__isl_give isl_vec * isl_vec_insert_els ( __isl_take isl_vec vec,
unsigned  pos,
unsigned  n 
)

◆ isl_vec_insert_zero_els()

__isl_give isl_vec * isl_vec_insert_zero_els ( __isl_take isl_vec vec,
unsigned  pos,
unsigned  n 
)

Definition at line 598 of file isl_vec.c.

References isl_seq_clr(), isl_vec_insert_els(), n, and pos().

Referenced by isl_aff_insert_dims().

◆ isl_vec_is_equal()

isl_bool isl_vec_is_equal ( __isl_keep isl_vec vec1,
__isl_keep isl_vec vec2 
)

Definition at line 341 of file isl_vec.c.

References isl_bool_error, isl_bool_false, isl_bool_ok(), and isl_seq_eq().

Referenced by isl_aff_plain_is_equal(), and isl_constraint_is_equal().

◆ isl_vec_is_zero()

isl_bool isl_vec_is_zero ( __isl_keep isl_vec vec)

Definition at line 334 of file isl_vec.c.

References isl_bool_error, isl_bool_ok(), and isl_seq_first_non_zero().

Referenced by region_is_trivial().

◆ isl_vec_lcm()

void isl_vec_lcm ( __isl_keep isl_vec vec,
isl_int lcm 
)

Definition at line 435 of file isl_vec.c.

References isl_seq_lcm(), and lcm().

Referenced by parameter_compression_multi().

◆ isl_vec_move_els()

__isl_give isl_vec * isl_vec_move_els ( __isl_take isl_vec vec,
unsigned  dst_pos,
unsigned  src_pos,
unsigned  n 
)

Definition at line 615 of file isl_vec.c.

References isl_die, isl_error_invalid, isl_seq_cpy(), isl_vec_alloc(), isl_vec_free(), n, and res.

Referenced by isl_aff_move_dims().

◆ isl_vec_neg()

__isl_give isl_vec * isl_vec_neg ( __isl_take isl_vec vec)

Definition at line 464 of file isl_vec.c.

References isl_seq_neg(), and isl_vec_cow().

Referenced by isl_constraint_negate().

◆ isl_vec_normalize()

__isl_give isl_vec * isl_vec_normalize ( __isl_take isl_vec vec)

◆ isl_vec_reorder()

__isl_give isl_vec * isl_vec_reorder ( __isl_take isl_vec vec,
unsigned  offset,
__isl_take isl_reordering r 
)

◆ isl_vec_scale()

__isl_give isl_vec * isl_vec_scale ( __isl_take isl_vec vec,
isl_int  m 
)

Definition at line 473 of file isl_vec.c.

References isl_int_is_one, isl_seq_scale(), isl_vec_cow(), and m.

◆ isl_vec_set()

__isl_give isl_vec * isl_vec_set ( __isl_take isl_vec vec,
isl_int  v 
)

Definition at line 388 of file isl_vec.c.

References isl_seq_set(), and isl_vec_cow().

Referenced by isl_mat_parameter_compression_ext().

◆ isl_vec_set_element()

__isl_give isl_vec * isl_vec_set_element ( __isl_take isl_vec vec,
int  pos,
isl_int  v 
)

Definition at line 269 of file isl_vec.c.

References isl_die, isl_error_invalid, isl_int_set, isl_vec_cow(), isl_vec_free(), and pos().

Referenced by isl_vec_set_element_val().

◆ isl_vec_set_element_si()

__isl_give isl_vec * isl_vec_set_element_si ( __isl_take isl_vec vec,
int  pos,
int  v 
)

◆ isl_vec_set_element_val()

__isl_give isl_vec * isl_vec_set_element_val ( __isl_take isl_vec vec,
int  pos,
__isl_take isl_val v 
)

◆ isl_vec_set_si()

__isl_give isl_vec * isl_vec_set_si ( __isl_take isl_vec vec,
int  v 
)

◆ isl_vec_set_val()

__isl_give isl_vec * isl_vec_set_val ( __isl_take isl_vec vec,
__isl_take isl_val v 
)

◆ isl_vec_size()

isl_size isl_vec_size ( __isl_keep isl_vec vec)

Definition at line 249 of file isl_vec.c.

References isl_size_error.

Referenced by before(), coscheduled(), isl_local_extend_point_vec(), and main().

◆ isl_vec_sort()

__isl_give isl_vec * isl_vec_sort ( __isl_take isl_vec vec)

Definition at line 525 of file isl_vec.c.

References qsort_int_cmp().

◆ isl_vec_zero()

__isl_give isl_vec * isl_vec_zero ( isl_ctx ctx,
unsigned  size 
)

Definition at line 131 of file isl_vec.c.

References isl_vec::ctx, isl_vec::el, isl_seq_clr(), isl_vec_alloc(), and size.

◆ isl_vec_zero_extend()

__isl_give isl_vec * isl_vec_zero_extend ( __isl_take isl_vec vec,
unsigned  size 
)

Definition at line 142 of file isl_vec.c.

References isl_seq_clr(), isl_vec_cow(), isl_vec_extend(), and size.

◆ qsort_int_cmp()

static int qsort_int_cmp ( const void *  p1,
const void *  p2 
)
static

Definition at line 517 of file isl_vec.c.

References isl_int_cmp.

Referenced by isl_vec_sort().