Polly 20.0.0git
|
Go to the source code of this file.
Classes | |
struct | isl_mat |
Macros | |
#define | ISL_MAT_BORROWED (1 << 0) |
#define ISL_MAT_BORROWED (1 << 0) |
Definition at line 12 of file isl_mat_private.h.
__isl_give isl_mat * isl_mat_col_addmul | ( | __isl_take isl_mat * | mat, |
int | dst_col, | ||
isl_int | f, | ||
int | src_col | ||
) |
Definition at line 1681 of file isl_mat.c.
References check_col(), f, isl_int_addmul, isl_int_is_zero, isl_mat_cow(), and isl_mat_free().
Referenced by reduce_div().
void isl_mat_col_mul | ( | __isl_keep isl_mat * | mat, |
int | dst_col, | ||
isl_int | f, | ||
int | src_col | ||
) |
Definition at line 1669 of file isl_mat.c.
References f, and isl_int_mul.
Referenced by invert_div(), and parameter_compression_1().
__isl_give isl_mat * isl_mat_col_neg | ( | __isl_take isl_mat * | mat, |
int | col | ||
) |
Definition at line 1703 of file isl_mat.c.
References check_col(), isl_int_is_zero, isl_int_neg, isl_mat_cow(), and isl_mat_free().
Referenced by invert_div().
void isl_mat_col_submul | ( | __isl_keep isl_mat * | mat, |
int | dst_col, | ||
isl_int | f, | ||
int | src_col | ||
) |
Definition at line 1648 of file isl_mat.c.
References f, and isl_int_submul.
Referenced by normalize_divs().
__isl_give isl_mat * isl_mat_cow | ( | __isl_take isl_mat * | mat | ) |
Definition at line 226 of file isl_mat.c.
References ISL_F_ISSET, ISL_MAT_BORROWED, isl_mat_dup(), and isl_mat_free().
Referenced by eliminate(), isl_local_space_substitute_equalities(), isl_local_space_substitute_seq(), isl_mat_col_addmul(), isl_mat_col_neg(), isl_mat_drop_cols(), isl_mat_drop_rows(), isl_mat_extend(), isl_mat_inverse_product(), isl_mat_left_hermite(), isl_mat_normalize_row(), isl_mat_parameter_compression(), isl_mat_right_inverse(), isl_mat_row_neg(), isl_mat_scale(), isl_mat_scale_down(), isl_mat_scale_down_row(), isl_mat_set_element(), isl_mat_set_element_si(), isl_mat_swap_cols(), isl_mat_swap_rows(), isl_mat_transpose(), isl_qpolynomial_from_aff(), isl_qpolynomial_substitute_equalities_lifted(), make_divs_pos(), parameter_compute_divs(), update_constraint(), and uset_gist().
__isl_give isl_mat * isl_mat_diag | ( | isl_ctx * | ctx, |
unsigned | n_row, | ||
isl_int | d | ||
) |
Definition at line 386 of file isl_mat.c.
References isl_mat::ctx, isl_int_set, isl_mat_alloc(), isl_seq_clr(), isl_mat::n_row, and isl_mat::row.
Referenced by isl_mat_identity(), and isl_qpolynomial_morph_domain().
__isl_give isl_mat * isl_mat_dup | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 211 of file isl_mat.c.
References isl_mat_alloc(), isl_seq_cpy(), and isl_mat::row.
Referenced by isl_mat_cow(), and isl_tab_dup().
int isl_mat_get_element | ( | __isl_keep isl_mat * | mat, |
int | row, | ||
int | col, | ||
isl_int * | v | ||
) |
Definition at line 319 of file isl_mat.c.
References check_col(), check_row(), isl_int_set, and isl_mat::row.
Referenced by extract_schedule_row().
uint32_t isl_mat_get_hash | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 32 of file isl_mat.c.
References isl_hash_byte, isl_hash_hash, isl_hash_init, and isl_seq_get_hash().
Referenced by isl_local_space_get_hash().
__isl_give isl_vec * isl_mat_get_row | ( | __isl_keep isl_mat * | mat, |
unsigned | row | ||
) |
Definition at line 1840 of file isl_mat.c.
References isl_vec::el, isl_die, isl_error_invalid, isl_mat_get_ctx(), isl_seq_cpy(), isl_vec_alloc(), and isl_mat::row.
Referenced by isl_morph_get_var_multi_aff().
isl_bool isl_mat_is_scaled_identity | ( | __isl_keep isl_mat * | mat | ) |
Definition at line 428 of file isl_mat.c.
References isl_bool_error, isl_bool_false, isl_bool_true, isl_int_ne, and isl_seq_first_non_zero().
Referenced by identity_on_parameters(), and isl_basic_set_coefficients_morphed_product().
__isl_give isl_mat * isl_mat_lexnonneg_rows | ( | __isl_take isl_mat * | mat | ) |
Definition at line 801 of file isl_mat.c.
References isl_int_is_nonneg, isl_mat_cols(), isl_mat_free(), isl_mat_row_neg(), isl_mat_rows(), isl_seq_first_non_zero(), and pos().
Referenced by normalize_independent().
__isl_give isl_mat * isl_mat_reverse_gauss | ( | __isl_take isl_mat * | mat | ) |
Definition at line 762 of file isl_mat.c.
References eliminate(), isl_int_is_neg, isl_int_is_zero, isl_mat_cols(), isl_mat_drop_rows(), isl_mat_free(), isl_mat_row_neg(), isl_mat_rows(), isl_mat_swap_rows(), and isl_mat::row.
Referenced by isl_mat_row_basis(), and normalize_independent().
isl_stat isl_mat_row_gcd | ( | __isl_keep isl_mat * | mat, |
int | row, | ||
isl_int * | gcd | ||
) |
Definition at line 1910 of file isl_mat.c.
References check_row(), gcd(), isl_seq_gcd(), isl_stat_error, isl_stat_ok, and isl_mat::row.
Referenced by reduce_stride_constraints().
__isl_give isl_mat * isl_mat_row_neg | ( | __isl_take isl_mat * | mat, |
int | row | ||
) |
Definition at line 1724 of file isl_mat.c.
References check_row(), isl_mat_cow(), isl_mat_free(), isl_seq_first_non_zero(), and isl_seq_neg().
Referenced by isl_mat_lexnonneg_rows(), and isl_mat_reverse_gauss().
__isl_give isl_mat * isl_mat_scale | ( | __isl_take isl_mat * | mat, |
isl_int | m | ||
) |
Definition at line 1939 of file isl_mat.c.
References isl_int_is_one, isl_mat_cow(), isl_seq_scale(), and m.
__isl_give isl_mat * isl_mat_scale_down_row | ( | __isl_take isl_mat * | mat, |
int | row, | ||
isl_int | m | ||
) |
Definition at line 1973 of file isl_mat.c.
References isl_int_is_one, isl_mat_cow(), isl_seq_scale_down(), m, and isl_mat::row.
Referenced by split_scaled().
__isl_give isl_mat * isl_mat_set_element | ( | __isl_take isl_mat * | mat, |
int | row, | ||
int | col, | ||
isl_int | v | ||
) |
Definition at line 344 of file isl_mat.c.
References check_col(), check_row(), isl_int_set, isl_mat_cow(), isl_mat_free(), and isl_mat::row.
Referenced by isl_mat_set_element_val(), and update_schedule().
__isl_give isl_mat * isl_mat_sub_alloc | ( | __isl_keep isl_mat * | mat, |
unsigned | first_row, | ||
unsigned | n_row, | ||
unsigned | first_col, | ||
unsigned | n_col | ||
) |
Definition at line 175 of file isl_mat.c.
References isl_mat_sub_alloc6(), isl_mat::n_col, and isl_mat::n_row.
Referenced by extract_linear_schedule(), identity_on_parameters(), isl_basic_set_dim_residue_class(), isl_mat_final_variable_compression(), parameter_compression_multi(), and particular_solution().
__isl_give isl_mat * isl_mat_sub_alloc6 | ( | isl_ctx * | ctx, |
isl_int ** | row, | ||
unsigned | first_row, | ||
unsigned | n_row, | ||
unsigned | first_col, | ||
unsigned | n_col | ||
) |
Definition at line 148 of file isl_mat.c.
References isl_mat::block, isl_mat::ctx, isl_mat::flags, isl_alloc_array, isl_alloc_type, isl_blk_empty(), isl_ctx_ref(), ISL_MAT_BORROWED, isl_mat::n_col, isl_mat::n_row, isl_mat::ref, and isl_mat::row.
Referenced by affine_hull_with_cone(), combined_variable_compression(), common_constraints(), compress_variables(), extract_compressed_stride_constraints(), extract_ineq(), isl_basic_map_make_strides_explicit(), isl_basic_map_reduce_coefficients(), isl_basic_set_dim_residue_class(), isl_basic_set_extract_equalities(), isl_basic_set_parameter_compression(), isl_basic_set_reduced_basis(), isl_basic_set_sample_with_cone(), isl_basic_set_variable_compression(), isl_mat_sub_alloc(), isl_mat_sub_transform(), modulo_lineality(), normalize_divs(), parameter_compute_divs(), preimage(), tighten_on_relaxed_facet(), and uset_gist().
void isl_mat_sub_copy | ( | struct isl_ctx * | ctx, |
isl_int ** | dst, | ||
isl_int ** | src, | ||
unsigned | n_row, | ||
unsigned | dst_col, | ||
unsigned | src_col, | ||
unsigned | n_col | ||
) |
Definition at line 184 of file isl_mat.c.
References isl_seq_cpy(), isl_mat::n_col, and isl_mat::n_row.
Referenced by isl_basic_set_factorizer(), isl_mat_concat(), isl_mat_insert_cols(), isl_mat_insert_rows(), isl_mat_move_cols(), isl_mat_parameter_compression(), and isl_mat_right_kernel().
void isl_mat_sub_neg | ( | struct isl_ctx * | ctx, |
isl_int ** | dst, | ||
isl_int ** | src, | ||
unsigned | n_row, | ||
unsigned | dst_col, | ||
unsigned | src_col, | ||
unsigned | n_col | ||
) |
Definition at line 193 of file isl_mat.c.
References isl_seq_neg(), isl_mat::n_col, and isl_mat::n_row.
Referenced by isl_basic_set_dim_residue_class(), and isl_mat_final_variable_compression().
isl_stat isl_mat_sub_transform | ( | isl_int ** | row, |
unsigned | n_row, | ||
unsigned | first_col, | ||
__isl_take isl_mat * | mat | ||
) |
Definition at line 1451 of file isl_mat.c.
References isl_mat_free(), isl_mat_get_ctx(), isl_mat_product(), isl_mat_sub_alloc6(), isl_seq_swp_or_cpy(), isl_stat_error, isl_stat_ok, and t.
Referenced by isl_basic_map_transform_dims().
__isl_give isl_mat * isl_mat_zero | ( | isl_ctx * | ctx, |
unsigned | n_row, | ||
unsigned | n_col | ||
) |
Definition at line 405 of file isl_mat.c.
References isl_mat::ctx, isl_mat_alloc(), isl_seq_clr(), isl_mat::n_col, isl_mat::n_row, and isl_mat::row.
Referenced by reduce_divs(), and solve_lp().