Polly 20.0.0git
|
Go to the source code of this file.
Typedefs | |
typedef struct isl_mat | isl_mat |
__isl_give isl_mat * isl_mat_add_rows | ( | __isl_take isl_mat * | mat, |
unsigned | n | ||
) |
Definition at line 1617 of file isl_mat.c.
References isl_mat_insert_rows(), and n.
Referenced by isl_local_space_add_div(), isl_local_space_preimage_multi_aff(), and update_schedule().
__isl_give isl_mat * isl_mat_add_zero_cols | ( | __isl_take isl_mat * | mat, |
unsigned | n | ||
) |
Definition at line 1584 of file isl_mat.c.
References isl_mat_insert_zero_cols(), and n.
Referenced by isl_local_space_add_div(), and isl_local_space_preimage_multi_aff().
__isl_give isl_mat * isl_mat_add_zero_rows | ( | __isl_take isl_mat * | mat, |
unsigned | n | ||
) |
Definition at line 1640 of file isl_mat.c.
References isl_mat_insert_zero_rows(), and n.
__isl_give isl_mat * isl_mat_aff_direct_sum | ( | __isl_take isl_mat * | left, |
__isl_take isl_mat * | right | ||
) |
Definition at line 535 of file isl_mat.c.
References isl_assert, isl_int_addmul, isl_int_divexact, isl_int_lcm, isl_int_mul, isl_mat_alloc(), isl_mat_free(), isl_seq_clr(), isl_seq_first_non_zero(), isl_seq_scale(), isl_mat::n_col, isl_mat::n_row, and isl_mat::row.
Referenced by isl_mat_final_variable_compression().
__isl_give isl_mat * isl_mat_alloc | ( | isl_ctx * | ctx, |
unsigned | n_row, | ||
unsigned | n_col | ||
) |
Definition at line 53 of file isl_mat.c.
References isl_mat::block, isl_mat::ctx, isl_blk::data, isl_mat::flags, isl_alloc_type, isl_blk_alloc(), isl_blk_free(), isl_blk_is_error(), isl_calloc_array, isl_ctx_ref(), isl_mat::max_col, isl_mat::n_col, isl_mat::n_row, isl_mat::ref, and isl_mat::row.
Referenced by add_node(), can_wrap_in_facet(), check_eq_adj_eq(), compute_facet(), construct_extended_path(), construct_trivial(), convex_hull_1d(), convex_hull_pair_pointed(), empty_compression(), initial_facet_constraint(), is_adj_ineq_extension(), isl_basic_map_drop_redundant_divs(), isl_basic_map_equalities_matrix(), isl_basic_map_get_divs(), isl_basic_map_inequalities_matrix(), isl_basic_set_compute_vertices(), isl_basic_set_dim_residue_class(), isl_basic_set_factorizer(), isl_basic_set_scan_samples(), isl_local_reorder(), isl_local_space_alloc(), isl_mat_aff_direct_sum(), isl_mat_concat(), isl_mat_diag(), isl_mat_diagonal(), isl_mat_dup(), isl_mat_extend(), isl_mat_final_variable_compression(), isl_mat_from_row_vec(), isl_mat_insert_cols(), isl_mat_insert_rows(), isl_mat_lin_to_aff(), isl_mat_move_cols(), isl_mat_parameter_compression(), isl_mat_product(), isl_mat_right_kernel(), isl_mat_transpose(), isl_mat_vec_inverse_product(), isl_mat_zero(), isl_merge_divs(), isl_qpolynomial_alloc(), isl_set_wrap_facet(), isl_tab_alloc(), isl_tab_init_samples(), node_transformation(), parameter_compression_1(), parameter_compression_multi(), particular_solution(), plug_in(), SF(), sol_add(), tab_equalities(), tab_mat_product(), uset_unshifted_simple_hull_from_basic_set_list(), and wrap_in_facets().
void isl_mat_col_add | ( | __isl_keep isl_mat * | mat, |
int | dst_col, | ||
int | src_col | ||
) |
isl_size isl_mat_cols | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 262 of file isl_mat.c.
References isl_size_error.
Referenced by check_final_columns_are_zero(), construct_trivial(), eliminate(), fix_zero(), isl_basic_map_preimage_vars(), isl_local_cmp(), isl_local_dim(), isl_local_div_is_known(), isl_mat_lexnonneg_rows(), isl_mat_reverse_gauss(), isl_multi_aff_from_aff_mat(), isl_multi_aff_from_aff_mat_anonymous(), mark_shifted_constraints(), node_transformation(), pos_neg(), region_is_trivial(), split_scaled(), and uset_gist_compressed().
__isl_give isl_mat * isl_mat_concat | ( | __isl_take isl_mat * | top, |
__isl_take isl_mat * | bot | ||
) |
Definition at line 1765 of file isl_mat.c.
References isl_mat::ctx, isl_assert, isl_mat_alloc(), isl_mat_free(), isl_mat_sub_copy(), isl_mat::n_col, and isl_mat::row.
Referenced by combined_variable_compression(), isl_mat_has_linearly_independent_rows(), isl_mat_row_basis_extension(), isl_mat_vec_concat(), isl_tab_set_initial_basis_with_cone(), and transform().
__isl_give isl_mat * isl_mat_copy | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 202 of file isl_mat.c.
References isl_mat::ref.
Referenced by affine_hull_with_cone(), basic_map_partial_lexopt_symm_core(), coalesce_with_expanded_divs(), compress_variables(), compute_facet(), compute_weights(), convex_hull_pair_pointed(), copy_nodes(), extract_compressed_stride_constraints(), get_inv(), is_trivial(), isl_aff_add(), isl_basic_map_reduce_coefficients(), isl_basic_map_transform_dims(), isl_basic_set_opt(), isl_basic_set_opt_lp_val_aligned(), isl_basic_set_parameter_compression(), isl_basic_set_preimage(), isl_basic_set_reduced_basis(), isl_basic_set_sample_with_cone(), isl_basic_set_scan(), isl_factorizer_groups(), isl_local_copy(), isl_local_space_dup(), isl_local_space_preimage_multi_aff(), isl_mat_has_linearly_independent_rows(), isl_mat_rank(), isl_mat_unimodular_complete(), isl_morph_basic_set(), isl_morph_compose(), isl_morph_dup(), isl_morph_empty(), isl_morph_identity(), isl_morph_set(), isl_morph_vec(), isl_qpolynomial_coeff(), isl_qpolynomial_dup(), isl_qpolynomial_foreach_term(), isl_qpolynomial_from_aff(), isl_qpolynomial_from_term(), isl_qpolynomial_get_domain_local_space(), isl_qpolynomial_morph_domain(), isl_set_preimage(), isl_tab_sample(), isl_term_dup(), isl_term_get_div(), parameter_compute_divs(), preimage(), region_is_trivial(), return_with_identity(), set_append_equalities(), solve_ilp_with_eq(), tab_shift_cone(), tighten_on_relaxed_facet(), uset_gist_compressed(), and with_merged_divs().
__isl_give isl_mat * isl_mat_diagonal | ( | __isl_take isl_mat * | mat1, |
__isl_take isl_mat * | mat2 | ||
) |
Definition at line 921 of file isl_mat.c.
References isl_mat_alloc(), isl_mat_free(), isl_seq_clr(), isl_seq_cpy(), and isl_mat::row.
Referenced by extract_compressed_stride_constraints(), isl_basic_set_parameter_compression(), isl_basic_set_variable_compression(), isl_factorizer_groups(), isl_mat_final_variable_compression(), and isl_qpolynomial_morph_domain().
__isl_give isl_mat * isl_mat_drop_cols | ( | __isl_take isl_mat * | mat, |
unsigned | col, | ||
unsigned | n | ||
) |
Definition at line 1505 of file isl_mat.c.
References check_col_range(), isl_mat_cow(), isl_mat_free(), isl_seq_cpy(), and n.
Referenced by affine_hull_with_cone(), compute_facet(), drop_bmap_div(), isl_basic_map_make_strides_explicit(), isl_local_space_drop_dims(), isl_mat_parameter_compression_ext(), isl_morph_remove_dom_dims(), isl_morph_remove_ran_dims(), isl_qpolynomial_drop_dims(), remove_redundant_divs(), sort_divs(), substitute_div(), tab_detect_nonnegative_parameters(), and tab_shift_cone().
__isl_give isl_mat * isl_mat_drop_rows | ( | __isl_take isl_mat * | mat, |
unsigned | row, | ||
unsigned | n | ||
) |
Definition at line 1526 of file isl_mat.c.
References check_row_range(), isl_mat_cow(), isl_mat_free(), and n.
Referenced by affine_hull_with_cone(), check_wraps(), compute_facet(), isl_local_space_drop_dims(), isl_local_space_lift(), isl_mat_final_variable_compression(), isl_mat_parameter_compression(), isl_mat_parameter_compression_ext(), isl_mat_reverse_gauss(), isl_mat_row_basis_extension(), isl_morph_remove_dom_dims(), isl_morph_remove_ran_dims(), isl_sched_node_update_vmap(), modulo_lineality(), remove_redundant_divs(), reset_band(), sort_divs(), substitute_div(), and transform().
void isl_mat_dump | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 1500 of file isl_mat.c.
References isl_mat_print_internal().
__isl_give isl_mat * isl_mat_extend | ( | __isl_take isl_mat * | mat, |
unsigned | n_row, | ||
unsigned | n_col | ||
) |
Definition at line 91 of file isl_mat.c.
References isl_blk_extend(), isl_blk_is_error(), isl_mat_alloc(), isl_mat_cow(), isl_mat_free(), isl_realloc_array, isl_seq_cpy(), isl_mat::n_col, isl_mat::n_row, and isl_mat::row.
Referenced by context_tab_insert_div(), isl_tab_add_sample(), isl_tab_extend_cons(), isl_tab_extend_vars(), and scan_samples_add_sample().
__isl_null isl_mat * isl_mat_free | ( | __isl_take isl_mat * | mat | ) |
Definition at line 240 of file isl_mat.c.
References isl_blk_free(), isl_ctx_deref(), ISL_F_ISSET, and ISL_MAT_BORROWED.
Referenced by affine_hull_with_cone(), basic_map_from_equalities(), basic_set_append_equalities(), basic_set_parameter_preimage(), clear_node(), coalesce_after_aligning_divs(), collect_inequalities(), common_constraints(), compress_variables(), construct_extended_path(), convex_hull_1d(), eliminate(), empty_compression(), equalities_in_underlying_set(), extract_compressed_stride_constraints(), gbr_get_sample(), gist_strides(), homogeneous_map(), identity_on_parameters(), initial_basis(), initial_facet_constraint(), initial_hull(), isl_aff_expand_divs(), isl_basic_map_equalities_matrix(), isl_basic_map_expand_divs(), isl_basic_map_from_constraint_matrices(), isl_basic_map_inequalities_matrix(), isl_basic_map_make_strides_explicit(), isl_basic_map_preimage_vars(), isl_basic_map_reduce_coefficients(), isl_basic_map_transform_dims(), isl_basic_set_compute_vertices(), isl_basic_set_dim_residue_class(), isl_basic_set_factorizer(), isl_basic_set_opt(), isl_basic_set_opt_lp_val_aligned(), isl_basic_set_preimage(), isl_basic_set_reduced_basis(), isl_basic_set_sample_with_cone(), isl_basic_set_scan(), isl_basic_set_scan_samples(), isl_basic_set_variable_compression(), isl_factorizer_groups(), isl_local_free(), isl_local_space_alloc_div(), isl_local_space_free(), isl_local_space_intersect(), isl_local_space_preimage_multi_aff(), isl_local_space_replace_divs(), isl_mat_aff_direct_sum(), isl_mat_col_addmul(), isl_mat_col_neg(), isl_mat_concat(), isl_mat_cow(), isl_mat_diagonal(), isl_mat_drop_cols(), isl_mat_drop_rows(), isl_mat_extend(), isl_mat_final_variable_compression(), isl_mat_has_linearly_independent_rows(), isl_mat_insert_cols(), isl_mat_insert_rows(), isl_mat_inverse_product(), isl_mat_left_hermite(), isl_mat_lexnonneg_rows(), isl_mat_lin_to_aff(), isl_mat_move_cols(), isl_mat_parameter_compression(), isl_mat_parameter_compression_ext(), isl_mat_product(), isl_mat_rank(), isl_mat_reverse_gauss(), isl_mat_right_inverse(), isl_mat_right_kernel(), isl_mat_row_basis_extension(), isl_mat_row_neg(), isl_mat_set_element(), isl_mat_set_element_si(), isl_mat_set_element_val(), isl_mat_sub_transform(), isl_mat_swap_cols(), isl_mat_swap_rows(), isl_mat_transpose(), isl_mat_unimodular_complete(), isl_mat_vec_inverse_product(), isl_mat_vec_product(), isl_morph_alloc(), isl_morph_free(), isl_multi_aff_from_aff_mat(), isl_qpolynomial_coeff(), isl_qpolynomial_dup(), isl_qpolynomial_free(), isl_qpolynomial_from_aff(), isl_qpolynomial_from_term(), isl_sched_node_update_vmap(), isl_set_preimage(), isl_set_wrap_facet(), isl_tab_compute_reduced_basis(), isl_tab_detect_equalities(), isl_tab_free(), isl_tab_set_initial_basis_with_cone(), isl_term_alloc(), isl_term_free(), isl_vec_mat_product(), main(), mark_all_unknown(), modulo_affine_hull(), modulo_lineality(), normalize_divs(), parameter_compression_multi(), parameter_compute_divs(), particular_solution(), preimage(), print_disjunct(), reduce_divs(), return_with_identity(), round_up_in_cone(), sample_eq(), set_append_equalities(), set_from_affine_matrix(), set_minimum(), set_minimum_pa(), set_parameter_preimage(), SF(), sol_add(), sol_push_sol_mat(), solve_ilp_with_eq(), solve_lp(), split_domain(), split_domain_pma(), tab_equalities(), tab_shift_cone(), tighten_on_relaxed_facet(), update_ineq_free(), uset_gist(), uset_gist_compressed(), uset_gist_full(), uset_unshifted_simple_hull_from_basic_set_list(), with_merged_divs(), and wraps_free().
__isl_give isl_mat * isl_mat_from_row_vec | ( | __isl_take isl_vec * | vec | ) |
Definition at line 1819 of file isl_mat.c.
References isl_mat_alloc(), isl_seq_cpy(), isl_vec_free(), and isl_mat::row.
Referenced by isl_mat_vec_concat().
isl_ctx * isl_mat_get_ctx | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 25 of file isl_mat.c.
Referenced by check_col(), check_col_range(), check_final_columns_are_zero(), check_row(), check_row_range(), construct_trivial(), eliminate(), isl_basic_map_expand_divs(), isl_basic_map_preimage_vars(), isl_local_get_ctx(), isl_mat_final_variable_compression(), isl_mat_get_element_val(), isl_mat_get_row(), isl_mat_parameter_compression_ext(), isl_mat_sub_transform(), isl_multi_aff_from_aff_mat(), isl_multi_aff_from_aff_mat_anonymous(), isl_tab_get_ctx(), preimage(), select_minimum(), uset_gist_compressed(), and wraps_init().
__isl_give isl_val * isl_mat_get_element_val | ( | __isl_keep isl_mat * | mat, |
int | row, | ||
int | col | ||
) |
Definition at line 331 of file isl_mat.c.
References check_col(), check_row(), isl_mat::ctx, isl_mat_get_ctx(), isl_val_int_from_isl_int(), and isl_mat::row.
Referenced by isl_morph_get_var_multi_aff().
isl_bool isl_mat_has_linearly_independent_rows | ( | __isl_keep isl_mat * | mat1, |
__isl_keep isl_mat * | mat2 | ||
) |
Definition at line 2087 of file isl_mat.c.
References isl_bool_error, isl_bool_ok(), isl_bool_true, isl_mat_concat(), isl_mat_copy(), isl_mat_free(), and isl_mat_rank().
__isl_give isl_mat * isl_mat_identity | ( | isl_ctx * | ctx, |
unsigned | n_row | ||
) |
Definition at line 419 of file isl_mat.c.
References isl_mat::ctx, isl_mat_diag(), isl_mat::n_row, and isl_ctx::one.
Referenced by extract_compressed_stride_constraints(), initial_basis(), isl_basic_set_parameter_compression(), isl_basic_set_reduced_basis(), isl_basic_set_scan(), isl_basic_set_variable_compression(), isl_factorizer_groups(), isl_mat_final_variable_compression(), isl_mat_left_hermite(), isl_mat_parameter_compression(), isl_mat_right_inverse(), isl_morph_empty(), isl_morph_identity(), return_with_identity(), and tab_equalities().
int isl_mat_initial_non_zero_cols | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 2016 of file isl_mat.c.
References row_first_non_zero().
Referenced by isl_sched_node_update_vmap().
__isl_give isl_mat * isl_mat_insert_cols | ( | __isl_take isl_mat * | mat, |
unsigned | col, | ||
unsigned | n | ||
) |
Definition at line 1542 of file isl_mat.c.
References check_col_range(), isl_ctx::error, isl_mat_alloc(), isl_mat_free(), isl_mat_sub_copy(), n, and isl_mat::row.
Referenced by isl_mat_insert_zero_cols(), and isl_qpolynomial_lift().
__isl_give isl_mat * isl_mat_insert_rows | ( | __isl_take isl_mat * | mat, |
unsigned | row, | ||
unsigned | n | ||
) |
Definition at line 1592 of file isl_mat.c.
References check_row_range(), isl_ctx::error, isl_mat_alloc(), isl_mat_free(), isl_mat_sub_copy(), n, and isl_mat::row.
Referenced by insert_parameter_rows(), isl_mat_add_rows(), and isl_mat_insert_zero_rows().
__isl_give isl_mat * isl_mat_insert_zero_cols | ( | __isl_take isl_mat * | mat, |
unsigned | first, | ||
unsigned | n | ||
) |
Definition at line 1567 of file isl_mat.c.
References isl_mat_insert_cols(), isl_seq_clr(), and n.
Referenced by isl_local_space_insert_dims(), isl_mat_add_zero_cols(), and isl_qpolynomial_insert_dims().
__isl_give isl_mat * isl_mat_insert_zero_rows | ( | __isl_take isl_mat * | mat, |
unsigned | row, | ||
unsigned | n | ||
) |
Definition at line 1625 of file isl_mat.c.
References isl_mat_insert_rows(), isl_seq_clr(), and n.
Referenced by add_non_trivial_lineality(), isl_basic_map_make_strides_explicit(), isl_local_space_insert_dims(), and isl_mat_add_zero_rows().
__isl_give isl_mat * isl_mat_inverse_product | ( | __isl_take isl_mat * | left, |
__isl_take isl_mat * | right | ||
) |
Definition at line 1008 of file isl_mat.c.
References a(), b(), inv_exchange(), inv_oppose(), inv_subtract(), isl_assert, isl_int_clear, isl_int_divexact, isl_int_fdiv_q, isl_int_gcd, isl_int_init, isl_int_is_neg, isl_int_is_one, isl_int_is_zero, isl_int_lcm, isl_int_neg, isl_int_set, isl_mat_cow(), isl_mat_free(), isl_seq_combine(), isl_seq_scale(), isl_mat::row, row_abs_min_non_zero(), and row_first_non_zero().
Referenced by isl_basic_set_dim_residue_class(), isl_mat_final_variable_compression(), isl_mat_vec_inverse_product(), and particular_solution().
isl_bool isl_mat_is_equal | ( | __isl_keep isl_mat * | mat1, |
__isl_keep isl_mat * | mat2 | ||
) |
Definition at line 1799 of file isl_mat.c.
References isl_bool_error, isl_bool_false, isl_bool_true, and isl_seq_eq().
Referenced by compatible_divs(), isl_local_space_intersect(), isl_local_space_is_equal(), and isl_qpolynomial_plain_is_equal().
__isl_give isl_mat * isl_mat_left_hermite | ( | __isl_take isl_mat * | M, |
int | neg, | ||
__isl_give isl_mat ** | U, | ||
__isl_give isl_mat ** | Q | ||
) |
Definition at line 641 of file isl_mat.c.
References exchange(), isl_int_cdiv_q, isl_int_clear, isl_int_fdiv_q, isl_int_init, isl_int_is_neg, isl_int_is_zero, isl_mat_cow(), isl_mat_free(), isl_mat_identity(), isl_seq_abs_min_non_zero(), isl_seq_first_non_zero(), M(), neg(), oppose(), isl_mat::row, and subtract().
Referenced by affine_hull_with_cone(), initial_basis(), isl_basic_map_make_strides_explicit(), isl_basic_set_dim_residue_class(), isl_basic_set_factorizer(), isl_basic_set_reduced_basis(), isl_basic_set_sample_with_cone(), isl_mat_final_variable_compression(), isl_mat_parameter_compression(), isl_mat_parameter_compression_ext(), isl_mat_rank(), isl_mat_right_kernel(), isl_mat_row_basis_extension(), isl_mat_unimodular_complete(), isl_sched_node_update_vmap(), isl_tab_set_initial_basis_with_cone(), modulo_lineality(), parameter_compression_multi(), and particular_solution().
__isl_give isl_mat * isl_mat_lin_to_aff | ( | __isl_take isl_mat * | mat | ) |
Definition at line 893 of file isl_mat.c.
References isl_int_set_si, isl_mat_alloc(), isl_mat_free(), isl_seq_clr(), isl_seq_cpy(), and isl_mat::row.
Referenced by affine_hull_with_cone(), initial_basis(), isl_basic_map_make_strides_explicit(), isl_basic_set_coefficients_morphed_product(), isl_basic_set_dim_residue_class(), isl_basic_set_reduced_basis(), isl_basic_set_sample_with_cone(), isl_mat_final_variable_compression(), isl_mat_parameter_compression_ext(), isl_tab_set_initial_basis_with_cone(), modulo_lineality(), parameter_compression_1(), parameter_compression_multi(), and particular_solution().
__isl_give isl_mat * isl_mat_move_cols | ( | __isl_take isl_mat * | mat, |
unsigned | dst_col, | ||
unsigned | src_col, | ||
unsigned | n | ||
) |
Definition at line 1864 of file isl_mat.c.
References isl_mat_alloc(), isl_mat_free(), isl_mat_sub_copy(), n, and res.
Referenced by context_tab_insert_div(), isl_local_move_vars(), and isl_qpolynomial_move_dims().
__isl_give isl_mat * isl_mat_normalize | ( | __isl_take isl_mat * | mat | ) |
Definition at line 1988 of file isl_mat.c.
References gcd(), isl_int_clear, isl_int_init, isl_mat_gcd(), and isl_mat_scale_down().
Referenced by isl_mat_final_variable_compression().
__isl_give isl_mat * isl_mat_normalize_row | ( | __isl_take isl_mat * | mat, |
int | row | ||
) |
Definition at line 2003 of file isl_mat.c.
References isl_mat_cow(), isl_seq_normalize(), and isl_mat::row.
Referenced by isl_basic_map_drop_redundant_divs().
void isl_mat_print_internal | ( | __isl_keep isl_mat * | mat, |
FILE * | out, | ||
int | indent | ||
) |
Definition at line 1471 of file isl_mat.c.
References isl_int_print.
Referenced by isl_mat_dump(), isl_morph_print_internal(), isl_tab_print_internal(), and main().
__isl_give isl_mat * isl_mat_product | ( | __isl_take isl_mat * | left, |
__isl_take isl_mat * | right | ||
) |
Definition at line 1271 of file isl_mat.c.
References isl_assert, isl_int_addmul, isl_int_is_zero, isl_int_mul, isl_mat_alloc(), isl_mat_free(), isl_seq_clr(), isl_mat::n_col, isl_mat::n_row, and isl_mat::row.
Referenced by extract_compressed_stride_constraints(), isl_basic_map_make_strides_explicit(), isl_basic_set_dim_residue_class(), isl_basic_set_samples(), isl_mat_final_variable_compression(), isl_mat_parameter_compression_ext(), isl_mat_sub_transform(), isl_morph_compose(), isl_qpolynomial_morph_domain(), normalize_divs(), particular_solution(), preimage(), and uset_gist_compressed().
isl_size isl_mat_rank | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 854 of file isl_mat.c.
References hermite_first_zero_col(), isl_mat_copy(), isl_mat_free(), isl_mat_left_hermite(), isl_size_error, and isl_mat::n_row.
Referenced by is_independent(), and isl_mat_has_linearly_independent_rows().
__isl_give isl_mat * isl_mat_right_inverse | ( | __isl_take isl_mat * | mat | ) |
Definition at line 1124 of file isl_mat.c.
References a(), b(), exchange(), isl_assert, isl_int_clear, isl_int_divexact, isl_int_fdiv_q, isl_int_gcd, isl_int_init, isl_int_is_neg, isl_int_is_one, isl_int_is_zero, isl_int_lcm, isl_int_neg, isl_int_set, isl_mat_col_combine(), isl_mat_col_scale(), isl_mat_cow(), isl_mat_free(), isl_mat_identity(), isl_seq_abs_min_non_zero(), isl_seq_first_non_zero(), oppose(), isl_mat::row, and subtract().
Referenced by compute_facet(), convex_hull_pair_pointed(), isl_basic_map_drop_redundant_divs(), isl_basic_map_make_strides_explicit(), isl_basic_set_parameter_compression(), isl_mat_parameter_compression_ext(), isl_set_wrap_facet(), parameter_compression_1(), and parameter_compression_multi().
__isl_give isl_mat * isl_mat_right_kernel | ( | __isl_take isl_mat * | mat | ) |
Definition at line 869 of file isl_mat.c.
References isl_mat::ctx, hermite_first_zero_col(), isl_mat_alloc(), isl_mat_free(), isl_mat_left_hermite(), isl_mat_sub_copy(), isl_mat::n_col, isl_mat::n_row, and isl_mat::row.
__isl_give isl_mat * isl_mat_row_basis | ( | __isl_take isl_mat * | mat | ) |
Definition at line 2034 of file isl_mat.c.
References isl_mat_reverse_gauss().
__isl_give isl_mat * isl_mat_row_basis_extension | ( | __isl_take isl_mat * | mat1, |
__isl_take isl_mat * | mat2 | ||
) |
Definition at line 2051 of file isl_mat.c.
References hermite_first_zero_col(), isl_mat_concat(), isl_mat_drop_rows(), isl_mat_free(), isl_mat_left_hermite(), isl_mat_rows(), and isl_mat::n_row.
isl_size isl_mat_rows | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 257 of file isl_mat.c.
References isl_size_error.
Referenced by add_non_trivial_lineality(), check_final_columns_are_zero(), construct_trivial(), drop_irrelevant_constraints_marked(), eliminate(), extract_linear_schedule(), final_row(), init_local_region(), is_adj_ineq_extension_with_wraps(), isl_aff_expand_divs(), isl_basic_map_preimage_vars(), isl_local_dim(), isl_mat_lexnonneg_rows(), isl_mat_reverse_gauss(), isl_mat_row_basis_extension(), isl_multi_aff_from_aff_mat(), isl_multi_aff_from_aff_mat_anonymous(), isl_sched_node_extract_partial_schedule_multi_aff(), mark_all_unknown(), mark_shifted_constraints(), need_exists(), node_extract_schedule_multi_aff(), node_transformation(), preimage(), print_affine(), print_as_modulo_pos(), print_div_list(), print_eq_constraint(), region_is_trivial(), split_scaled(), transform(), update_schedule(), and uset_gist_compressed().
__isl_give isl_mat * isl_mat_set_element_si | ( | __isl_take isl_mat * | mat, |
int | row, | ||
int | col, | ||
int | v | ||
) |
Definition at line 356 of file isl_mat.c.
References check_col(), check_row(), isl_int_set_si, isl_mat_cow(), isl_mat_free(), and isl_mat::row.
Referenced by add_non_trivial_lineality(), isl_basic_map_make_strides_explicit(), mark_all_unknown(), and reduce_divs().
__isl_give isl_mat * isl_mat_set_element_val | ( | __isl_take isl_mat * | mat, |
int | row, | ||
int | col, | ||
__isl_take isl_val * | v | ||
) |
Definition at line 370 of file isl_mat.c.
References isl_die, isl_error_invalid, isl_mat_free(), isl_mat_set_element(), isl_val_free(), isl_val_get_ctx(), isl_val_is_int(), and isl_mat::row.
__isl_give isl_mat * isl_mat_swap_cols | ( | __isl_take isl_mat * | mat, |
unsigned | i, | ||
unsigned | j | ||
) |
Definition at line 1233 of file isl_mat.c.
References check_col_range(), isl_int_swap, isl_mat_cow(), and isl_mat_free().
Referenced by isl_basic_set_factorizer(), isl_local_space_swap_div(), and swap_cols().
__isl_give isl_mat * isl_mat_swap_rows | ( | __isl_take isl_mat * | mat, |
unsigned | i, | ||
unsigned | j | ||
) |
Definition at line 1248 of file isl_mat.c.
References check_row_range(), isl_mat_cow(), isl_mat_free(), and t.
Referenced by drop_samples_since(), exchange(), inv_exchange(), isl_basic_set_factorizer(), isl_local_space_swap_div(), isl_mat_reverse_gauss(), isl_tab_compute_reduced_basis(), isl_tab_drop_sample(), sort_divs(), and swap_rows().
__isl_give isl_mat * isl_mat_transpose | ( | __isl_take isl_mat * | mat | ) |
Definition at line 1203 of file isl_mat.c.
References isl_int_set, isl_int_swap, isl_mat_alloc(), isl_mat_cow(), isl_mat_free(), and isl_mat::row.
Referenced by isl_basic_set_coefficients_morphed_product(), isl_basic_set_samples(), isl_sched_node_update_vmap(), and parameter_compression_multi().
__isl_give isl_mat * isl_mat_unimodular_complete | ( | __isl_take isl_mat * | M, |
int | row | ||
) |
Definition at line 1737 of file isl_mat.c.
References isl_assert, isl_int_is_one, isl_mat_copy(), isl_mat_free(), isl_mat_left_hermite(), isl_seq_cpy(), M(), and isl_mat::row.
Referenced by convex_hull_pair_pointed(), isl_basic_map_drop_redundant_divs(), parameter_compression_1(), and parameter_compression_multi().
__isl_give isl_mat * isl_mat_vec_concat | ( | __isl_take isl_mat * | top, |
__isl_take isl_vec * | bot | ||
) |
Definition at line 1858 of file isl_mat.c.
References isl_mat_concat(), and isl_mat_from_row_vec().
__isl_give isl_vec * isl_mat_vec_inverse_product | ( | __isl_take isl_mat * | mat, |
__isl_take isl_vec * | vec | ||
) |
Definition at line 477 of file isl_mat.c.
References isl_mat::ctx, isl_int_set, isl_mat_alloc(), isl_mat_free(), isl_mat_inverse_product(), isl_vec_alloc(), isl_vec_free(), isl_mat::n_row, and isl_mat::row.
Referenced by isl_tab_sample().
__isl_give isl_vec * isl_mat_vec_product | ( | __isl_take isl_mat * | mat, |
__isl_take isl_vec * | vec | ||
) |
Definition at line 450 of file isl_mat.c.
References isl_vec::block, isl_blk::data, isl_assert, isl_mat_free(), isl_seq_inner_product(), isl_vec_alloc(), isl_vec_free(), and isl_vec::size.
Referenced by affine_hull_with_cone(), equalities_in_underlying_set(), is_trivial(), isl_basic_set_sample_with_cone(), isl_morph_vec(), isl_tab_sample(), region_is_trivial(), sample_eq(), and solve_ilp_with_eq().
__isl_give isl_vec * isl_vec_mat_product | ( | __isl_take isl_vec * | vec, |
__isl_take isl_mat * | mat | ||
) |
Definition at line 506 of file isl_mat.c.
References isl_vec::el, isl_assert, isl_int_addmul, isl_int_set_si, isl_mat_free(), isl_vec_alloc(), isl_vec_free(), and isl_vec::size.
Referenced by isl_basic_map_reduce_coefficients(), preimage(), solve_ilp_with_eq(), tab_shift_cone(), and tighten_on_relaxed_facet().