pub struct Mat {
pub ptr: uintptr_t,
pub should_free_on_drop: bool,
}Expand description
Wraps isl_mat.
Fields§
§ptr: uintptr_t§should_free_on_drop: boolImplementations§
Source§impl Mat
impl Mat
Sourcepub fn add_zero_cols(self, n: u32) -> Result<Mat, LibISLError>
pub fn add_zero_cols(self, n: u32) -> Result<Mat, LibISLError>
Wraps isl_mat_add_zero_cols.
Sourcepub fn add_zero_rows(self, n: u32) -> Result<Mat, LibISLError>
pub fn add_zero_rows(self, n: u32) -> Result<Mat, LibISLError>
Wraps isl_mat_add_zero_rows.
Sourcepub fn aff_direct_sum(self, right: Mat) -> Result<Mat, LibISLError>
pub fn aff_direct_sum(self, right: Mat) -> Result<Mat, LibISLError>
Wraps isl_mat_aff_direct_sum.
Sourcepub fn alloc(ctx: &Context, n_row: u32, n_col: u32) -> Result<Mat, LibISLError>
pub fn alloc(ctx: &Context, n_row: u32, n_col: u32) -> Result<Mat, LibISLError>
Wraps isl_mat_alloc.
Sourcepub fn col_add(&self, dst_col: i32, src_col: i32) -> Result<(), LibISLError>
pub fn col_add(&self, dst_col: i32, src_col: i32) -> Result<(), LibISLError>
Wraps isl_mat_col_add.
Sourcepub fn cols(&self) -> Result<i32, LibISLError>
pub fn cols(&self) -> Result<i32, LibISLError>
Wraps isl_mat_cols.
Sourcepub fn copy(&self) -> Result<Mat, LibISLError>
pub fn copy(&self) -> Result<Mat, LibISLError>
Wraps isl_mat_copy.
Sourcepub fn dump(&self) -> Result<(), LibISLError>
pub fn dump(&self) -> Result<(), LibISLError>
Wraps isl_mat_dump.
Sourcepub fn free(self) -> Result<Mat, LibISLError>
pub fn free(self) -> Result<Mat, LibISLError>
Wraps isl_mat_free.
Sourcepub fn from_row_vec(vec: Vec) -> Result<Mat, LibISLError>
pub fn from_row_vec(vec: Vec) -> Result<Mat, LibISLError>
Wraps isl_mat_from_row_vec.
Sourcepub fn get_element_val(&self, row: i32, col: i32) -> Result<Val, LibISLError>
pub fn get_element_val(&self, row: i32, col: i32) -> Result<Val, LibISLError>
Wraps isl_mat_get_element_val.
Sourcepub fn has_linearly_independent_rows(
&self,
mat2: &Mat,
) -> Result<bool, LibISLError>
pub fn has_linearly_independent_rows( &self, mat2: &Mat, ) -> Result<bool, LibISLError>
Wraps isl_mat_has_linearly_independent_rows.
Sourcepub fn initial_non_zero_cols(&self) -> Result<i32, LibISLError>
pub fn initial_non_zero_cols(&self) -> Result<i32, LibISLError>
Wraps isl_mat_initial_non_zero_cols.
Sourcepub fn insert_cols(self, col: u32, n: u32) -> Result<Mat, LibISLError>
pub fn insert_cols(self, col: u32, n: u32) -> Result<Mat, LibISLError>
Wraps isl_mat_insert_cols.
Sourcepub fn insert_rows(self, row: u32, n: u32) -> Result<Mat, LibISLError>
pub fn insert_rows(self, row: u32, n: u32) -> Result<Mat, LibISLError>
Wraps isl_mat_insert_rows.
Sourcepub fn insert_zero_cols(self, first: u32, n: u32) -> Result<Mat, LibISLError>
pub fn insert_zero_cols(self, first: u32, n: u32) -> Result<Mat, LibISLError>
Wraps isl_mat_insert_zero_cols.
Sourcepub fn insert_zero_rows(self, row: u32, n: u32) -> Result<Mat, LibISLError>
pub fn insert_zero_rows(self, row: u32, n: u32) -> Result<Mat, LibISLError>
Wraps isl_mat_insert_zero_rows.
Sourcepub fn inverse_product(self, right: Mat) -> Result<Mat, LibISLError>
pub fn inverse_product(self, right: Mat) -> Result<Mat, LibISLError>
Wraps isl_mat_inverse_product.
Sourcepub fn lin_to_aff(self) -> Result<Mat, LibISLError>
pub fn lin_to_aff(self) -> Result<Mat, LibISLError>
Wraps isl_mat_lin_to_aff.
Sourcepub fn move_cols(
self,
dst_col: u32,
src_col: u32,
n: u32,
) -> Result<Mat, LibISLError>
pub fn move_cols( self, dst_col: u32, src_col: u32, n: u32, ) -> Result<Mat, LibISLError>
Wraps isl_mat_move_cols.
Sourcepub fn normalize(self) -> Result<Mat, LibISLError>
pub fn normalize(self) -> Result<Mat, LibISLError>
Wraps isl_mat_normalize.
Sourcepub fn normalize_row(self, row: i32) -> Result<Mat, LibISLError>
pub fn normalize_row(self, row: i32) -> Result<Mat, LibISLError>
Wraps isl_mat_normalize_row.
Sourcepub fn rank(&self) -> Result<i32, LibISLError>
pub fn rank(&self) -> Result<i32, LibISLError>
Wraps isl_mat_rank.
Sourcepub fn right_inverse(self) -> Result<Mat, LibISLError>
pub fn right_inverse(self) -> Result<Mat, LibISLError>
Wraps isl_mat_right_inverse.
Sourcepub fn right_kernel(self) -> Result<Mat, LibISLError>
pub fn right_kernel(self) -> Result<Mat, LibISLError>
Wraps isl_mat_right_kernel.
Sourcepub fn row_basis(self) -> Result<Mat, LibISLError>
pub fn row_basis(self) -> Result<Mat, LibISLError>
Wraps isl_mat_row_basis.
Sourcepub fn row_basis_extension(self, mat2: Mat) -> Result<Mat, LibISLError>
pub fn row_basis_extension(self, mat2: Mat) -> Result<Mat, LibISLError>
Wraps isl_mat_row_basis_extension.
Sourcepub fn rows(&self) -> Result<i32, LibISLError>
pub fn rows(&self) -> Result<i32, LibISLError>
Wraps isl_mat_rows.
Sourcepub fn set_element_si(
self,
row: i32,
col: i32,
v: i32,
) -> Result<Mat, LibISLError>
pub fn set_element_si( self, row: i32, col: i32, v: i32, ) -> Result<Mat, LibISLError>
Wraps isl_mat_set_element_si.
Sourcepub fn set_element_val(
self,
row: i32,
col: i32,
v: Val,
) -> Result<Mat, LibISLError>
pub fn set_element_val( self, row: i32, col: i32, v: Val, ) -> Result<Mat, LibISLError>
Wraps isl_mat_set_element_val.
Sourcepub fn transpose(self) -> Result<Mat, LibISLError>
pub fn transpose(self) -> Result<Mat, LibISLError>
Wraps isl_mat_transpose.
Sourcepub fn unimodular_complete(self, row: i32) -> Result<Mat, LibISLError>
pub fn unimodular_complete(self, row: i32) -> Result<Mat, LibISLError>
Wraps isl_mat_unimodular_complete.
Sourcepub fn vec_concat(self, bot: Vec) -> Result<Mat, LibISLError>
pub fn vec_concat(self, bot: Vec) -> Result<Mat, LibISLError>
Wraps isl_mat_vec_concat.
Sourcepub fn vec_inverse_product(self, vec: Vec) -> Result<Vec, LibISLError>
pub fn vec_inverse_product(self, vec: Vec) -> Result<Vec, LibISLError>
Wraps isl_mat_vec_inverse_product.
Sourcepub fn vec_product(self, vec: Vec) -> Result<Vec, LibISLError>
pub fn vec_product(self, vec: Vec) -> Result<Vec, LibISLError>
Wraps isl_mat_vec_product.
Sourcepub fn do_not_free_on_drop(&mut self)
pub fn do_not_free_on_drop(&mut self)
Does not call isl_mat_free() on being dropped. (For internal use only.)