Polly 20.0.0git
Classes | Functions
isl_factorization.c File Reference
#include <isl_map_private.h>
#include <isl_factorization.h>
#include <isl_space_private.h>
#include <isl_mat_private.h>

Go to the source code of this file.

Classes

struct  isl_factor_groups
 

Functions

isl_ctxisl_factorizer_get_ctx (__isl_keep isl_factorizer *f)
 
static __isl_give isl_factorizerisl_factorizer_alloc (__isl_keep isl_basic_set *bset, __isl_take isl_morph *morph, int n_group)
 
__isl_null isl_factorizerisl_factorizer_free (__isl_take isl_factorizer *f)
 
void isl_factorizer_dump (__isl_take isl_factorizer *f)
 
__isl_give isl_factorizerisl_factorizer_identity (__isl_keep isl_basic_set *bset)
 
__isl_give isl_factorizerisl_factorizer_groups (__isl_keep isl_basic_set *bset, __isl_take isl_mat *Q, __isl_take isl_mat *U, int n, int *len)
 
static int init_groups (struct isl_factor_groups *g, __isl_keep isl_mat *H)
 
static void update_group (struct isl_factor_groups *g, int k)
 
static int update_group_i_with_row_j (struct isl_factor_groups *g, int i, int j, __isl_keep isl_mat *H)
 
static int update_groups (struct isl_factor_groups *g, __isl_keep isl_mat *H)
 
static void clear_groups (struct isl_factor_groups *g)
 
__isl_give isl_factorizerisl_basic_set_factorizer (__isl_keep isl_basic_set *bset)
 
__isl_give isl_bool isl_factorizer_every_factor_basic_set (__isl_keep isl_factorizer *f, isl_bool(*test)(__isl_keep isl_basic_set *bset, void *user), void *user)
 

Function Documentation

◆ clear_groups()

static void clear_groups ( struct isl_factor_groups g)
static

◆ init_groups()

static int init_groups ( struct isl_factor_groups g,
__isl_keep isl_mat H 
)
static

◆ isl_basic_set_factorizer()

__isl_give isl_factorizer * isl_basic_set_factorizer ( __isl_keep isl_basic_set bset)

◆ isl_factorizer_alloc()

static __isl_give isl_factorizer * isl_factorizer_alloc ( __isl_keep isl_basic_set bset,
__isl_take isl_morph morph,
int  n_group 
)
static

◆ isl_factorizer_dump()

void isl_factorizer_dump ( __isl_take isl_factorizer f)

Definition at line 74 of file isl_factorization.c.

References f, and isl_morph_print_internal().

◆ isl_factorizer_every_factor_basic_set()

__isl_give isl_bool isl_factorizer_every_factor_basic_set ( __isl_keep isl_factorizer f,
isl_bool(*)(__isl_keep isl_basic_set *bset, void *user test,
void *  user 
)

◆ isl_factorizer_free()

__isl_null isl_factorizer * isl_factorizer_free ( __isl_take isl_factorizer f)

◆ isl_factorizer_get_ctx()

isl_ctx * isl_factorizer_get_ctx ( __isl_keep isl_factorizer f)

Definition at line 23 of file isl_factorization.c.

References f, and isl_basic_set_get_ctx().

Referenced by isl_basic_set_coefficients_product().

◆ isl_factorizer_groups()

__isl_give isl_factorizer * isl_factorizer_groups ( __isl_keep isl_basic_set bset,
__isl_take isl_mat Q,
__isl_take isl_mat U,
int  n,
int *  len 
)

◆ isl_factorizer_identity()

__isl_give isl_factorizer * isl_factorizer_identity ( __isl_keep isl_basic_set bset)

Definition at line 91 of file isl_factorization.c.

References isl_factorizer_alloc(), and isl_morph_identity().

Referenced by isl_basic_set_factorizer().

◆ update_group()

static void update_group ( struct isl_factor_groups g,
int  k 
)
static

Definition at line 184 of file isl_factorization.c.

References isl_factor_groups::cnt, isl_factor_groups::group, and p.

Referenced by update_group_i_with_row_j(), and update_groups().

◆ update_group_i_with_row_j()

static int update_group_i_with_row_j ( struct isl_factor_groups g,
int  i,
int  j,
__isl_keep isl_mat H 
)
static

◆ update_groups()

static int update_groups ( struct isl_factor_groups g,
__isl_keep isl_mat H 
)
static