Polly 19.0.0git
Classes | Macros | Functions
isl_mat_private.h File Reference
#include <isl/mat.h>
#include <isl_blk.h>

Go to the source code of this file.

Classes

struct  isl_mat
 

Macros

#define ISL_MAT_BORROWED   (1 << 0)
 

Functions

uint32_t isl_mat_get_hash (__isl_keep isl_mat *mat)
 
__isl_give isl_matisl_mat_zero (isl_ctx *ctx, unsigned n_row, unsigned n_col)
 
__isl_give isl_matisl_mat_dup (__isl_keep isl_mat *mat)
 
__isl_give isl_matisl_mat_cow (__isl_take isl_mat *mat)
 
__isl_give isl_matisl_mat_sub_alloc (__isl_keep isl_mat *mat, unsigned first_row, unsigned n_row, unsigned first_col, unsigned n_col)
 
__isl_give isl_matisl_mat_sub_alloc6 (isl_ctx *ctx, isl_int **row, unsigned first_row, unsigned n_row, unsigned first_col, unsigned n_col)
 
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)
 
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)
 
isl_stat isl_mat_sub_transform (isl_int **row, unsigned n_row, unsigned first_col, __isl_take isl_mat *mat)
 
__isl_give isl_matisl_mat_diag (isl_ctx *ctx, unsigned n_row, isl_int d)
 
__isl_give isl_matisl_mat_reverse_gauss (__isl_take isl_mat *mat)
 
__isl_give isl_matisl_mat_scale (__isl_take isl_mat *mat, isl_int m)
 
__isl_give isl_matisl_mat_scale_down_row (__isl_take isl_mat *mat, int row, isl_int m)
 
__isl_give isl_vecisl_mat_get_row (__isl_keep isl_mat *mat, unsigned row)
 
__isl_give isl_matisl_mat_lexnonneg_rows (__isl_take isl_mat *mat)
 
isl_bool isl_mat_is_scaled_identity (__isl_keep isl_mat *mat)
 
isl_stat isl_mat_row_gcd (__isl_keep isl_mat *mat, int row, isl_int *gcd)
 
void isl_mat_col_mul (__isl_keep isl_mat *mat, int dst_col, isl_int f, int src_col)
 
void isl_mat_col_submul (__isl_keep isl_mat *mat, int dst_col, isl_int f, int src_col)
 
__isl_give isl_matisl_mat_col_addmul (__isl_take isl_mat *mat, int dst_col, isl_int f, int src_col)
 
__isl_give isl_matisl_mat_col_neg (__isl_take isl_mat *mat, int col)
 
__isl_give isl_matisl_mat_row_neg (__isl_take isl_mat *mat, int row)
 
int isl_mat_get_element (__isl_keep isl_mat *mat, int row, int col, isl_int *v)
 
__isl_give isl_matisl_mat_set_element (__isl_take isl_mat *mat, int row, int col, isl_int v)
 

Macro Definition Documentation

◆ ISL_MAT_BORROWED

#define ISL_MAT_BORROWED   (1 << 0)

Definition at line 12 of file isl_mat_private.h.

Function Documentation

◆ isl_mat_col_addmul()

__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().

◆ isl_mat_col_mul()

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_mat_col_neg()

__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().

◆ isl_mat_col_submul()

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_mat_cow()

__isl_give isl_mat * isl_mat_cow ( __isl_take isl_mat mat)

◆ isl_mat_diag()

__isl_give isl_mat * isl_mat_diag ( isl_ctx ctx,
unsigned  n_row,
isl_int  d 
)

◆ isl_mat_dup()

__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().

◆ isl_mat_get_element()

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().

◆ isl_mat_get_hash()

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_mat_get_row()

__isl_give isl_vec * isl_mat_get_row ( __isl_keep isl_mat mat,
unsigned  row 
)

◆ isl_mat_is_scaled_identity()

isl_bool isl_mat_is_scaled_identity ( __isl_keep isl_mat mat)

◆ isl_mat_lexnonneg_rows()

__isl_give isl_mat * isl_mat_lexnonneg_rows ( __isl_take isl_mat mat)

◆ isl_mat_reverse_gauss()

__isl_give isl_mat * isl_mat_reverse_gauss ( __isl_take isl_mat mat)

◆ isl_mat_row_gcd()

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_mat_row_neg()

__isl_give isl_mat * isl_mat_row_neg ( __isl_take isl_mat mat,
int  row 
)

◆ isl_mat_scale()

__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_mat_scale_down_row()

__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_mat_set_element()

__isl_give isl_mat * isl_mat_set_element ( __isl_take isl_mat mat,
int  row,
int  col,
isl_int  v 
)

◆ isl_mat_sub_alloc()

__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 
)

◆ isl_mat_sub_alloc6()

__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 
)

◆ isl_mat_sub_copy()

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 
)

◆ isl_mat_sub_neg()

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 
)

◆ isl_mat_sub_transform()

isl_stat isl_mat_sub_transform ( isl_int **  row,
unsigned  n_row,
unsigned  first_col,
__isl_take isl_mat mat 
)

◆ isl_mat_zero()

__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().