Polly 22.0.0git
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.

Referenced by isl_mat_cow(), isl_mat_free(), and isl_mat_sub_alloc6().

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 __isl_give, __isl_take, 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 __isl_keep, 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 __isl_give, __isl_take, 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 __isl_keep, f, and isl_int_submul.

Referenced by normalize_divs().

◆ isl_mat_cow()

◆ 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_give, __isl_keep, 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 __isl_keep, 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_keep, 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_mat_lexnonneg_rows()

◆ isl_mat_reverse_gauss()

◆ isl_mat_row_gcd()

isl_stat isl_mat_row_gcd ( __isl_keep isl_mat * mat,
int row,
isl_int * gcd )

◆ isl_mat_row_neg()

◆ 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_give, __isl_take, 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_give, __isl_take, 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_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 )