Polly 20.0.0git
Classes | Functions
isl_sample.c File Reference
#include <isl_ctx_private.h>
#include <isl_map_private.h>
#include "isl_sample.h"
#include <isl/vec.h>
#include <isl/mat.h>
#include <isl_seq.h>
#include "isl_equalities.h"
#include "isl_tab.h"
#include "isl_basis_reduction.h"
#include <isl_factorization.h>
#include <isl_point_private.h>
#include <isl_options_private.h>
#include <isl_vec_private.h>
#include <bset_from_bmap.c>
#include <set_to_map.c>

Go to the source code of this file.

Classes

struct  isl_factored_sample_data
 

Functions

static __isl_give isl_vecisl_basic_set_sample_bounded (__isl_take isl_basic_set *bset)
 
static __isl_give isl_vecempty_sample (__isl_take isl_basic_set *bset)
 
static __isl_give isl_veczero_sample (__isl_take isl_basic_set *bset)
 
static __isl_give isl_vecinterval_sample (__isl_take isl_basic_set *bset)
 
static __isl_give isl_vecsample_eq (__isl_take isl_basic_set *bset, __isl_give isl_vec *(*recurse)(__isl_take isl_basic_set *))
 
static struct isl_mattab_equalities (struct isl_tab *tab)
 
static struct isl_matinitial_basis (struct isl_tab *tab)
 
static enum isl_lp_result compute_min (isl_ctx *ctx, struct isl_tab *tab, __isl_keep isl_vec *min, int level)
 
static enum isl_lp_result compute_max (isl_ctx *ctx, struct isl_tab *tab, __isl_keep isl_vec *max, int level)
 
static int greedy_search (isl_ctx *ctx, struct isl_tab *tab, __isl_keep isl_vec *min, __isl_keep isl_vec *max, int level)
 
__isl_give isl_vecisl_tab_sample (struct isl_tab *tab)
 
static __isl_give isl_vecsample_bounded (__isl_take isl_basic_set *bset)
 
static isl_bool factor_sample (__isl_keep isl_basic_set *bset, void *user)
 
static __isl_give isl_vecfactored_sample (__isl_take isl_basic_set *bset, __isl_take isl_factorizer *f)
 
static __isl_give isl_basic_setplug_in (__isl_take isl_basic_set *bset, __isl_take isl_vec *sample)
 
static __isl_give isl_vecrational_sample (__isl_take isl_basic_set *bset)
 
static __isl_give isl_basic_setshift_cone (__isl_take isl_basic_set *cone, __isl_take isl_vec *vec)
 
static __isl_give isl_vecround_up_in_cone (__isl_take isl_vec *vec, __isl_take isl_basic_set *cone, __isl_take isl_mat *U)
 
static __isl_give isl_vecvec_concat (__isl_take isl_vec *vec1, __isl_take isl_vec *vec2)
 
__isl_give isl_vecisl_basic_set_sample_with_cone (__isl_take isl_basic_set *bset, __isl_take isl_basic_set *cone)
 
static void vec_sum_of_neg (__isl_keep isl_vec *v, isl_int *s)
 
static int tab_shift_cone (struct isl_tab *tab, struct isl_tab *tab_cone, struct isl_mat *U)
 
int isl_tab_set_initial_basis_with_cone (struct isl_tab *tab, struct isl_tab *tab_cone)
 
static __isl_give isl_vecgbr_sample (__isl_take isl_basic_set *bset)
 
static __isl_give isl_vecbasic_set_sample (__isl_take isl_basic_set *bset, int bounded)
 
__isl_give isl_vecisl_basic_set_sample_vec (__isl_take isl_basic_set *bset)
 
__isl_give isl_basic_setisl_basic_set_from_vec (__isl_take isl_vec *vec)
 
__isl_give isl_basic_mapisl_basic_map_sample (__isl_take isl_basic_map *bmap)
 
__isl_give isl_basic_setisl_basic_set_sample (__isl_take isl_basic_set *bset)
 
__isl_give isl_basic_mapisl_map_sample (__isl_take isl_map *map)
 
__isl_give isl_basic_setisl_set_sample (__isl_take isl_set *set)
 
__isl_give isl_pointisl_basic_set_sample_point (__isl_take isl_basic_set *bset)
 
__isl_give isl_pointisl_set_sample_point (__isl_take isl_set *set)
 

Function Documentation

◆ basic_set_sample()

static __isl_give isl_vec * basic_set_sample ( __isl_take isl_basic_set bset,
int  bounded 
)
static

◆ compute_max()

static enum isl_lp_result compute_max ( isl_ctx ctx,
struct isl_tab tab,
__isl_keep isl_vec max,
int  level 
)
static

◆ compute_min()

static enum isl_lp_result compute_min ( isl_ctx ctx,
struct isl_tab tab,
__isl_keep isl_vec min,
int  level 
)
static

Definition at line 227 of file isl_sample.c.

References isl_tab::basis, isl_mat::ctx, isl_tab_min(), isl_ctx::one, and isl_mat::row.

Referenced by greedy_search(), and isl_tab_sample().

◆ empty_sample()

static __isl_give isl_vec * empty_sample ( __isl_take isl_basic_set bset)
static

Definition at line 30 of file isl_sample.c.

References isl_basic_set_free(), and isl_vec_alloc().

Referenced by basic_set_sample(), interval_sample(), and sample_bounded().

◆ factor_sample()

static isl_bool factor_sample ( __isl_keep isl_basic_set bset,
void *  user 
)
static

◆ factored_sample()

static __isl_give isl_vec * factored_sample ( __isl_take isl_basic_set bset,
__isl_take isl_factorizer f 
)
static

◆ gbr_sample()

static __isl_give isl_vec * gbr_sample ( __isl_take isl_basic_set bset)
static

◆ greedy_search()

static int greedy_search ( isl_ctx ctx,
struct isl_tab tab,
__isl_keep isl_vec min,
__isl_keep isl_vec max,
int  level 
)
static

◆ initial_basis()

static struct isl_mat * initial_basis ( struct isl_tab tab)
static

◆ interval_sample()

static __isl_give isl_vec * interval_sample ( __isl_take isl_basic_set bset)
static

◆ isl_basic_map_sample()

__isl_give isl_basic_map * isl_basic_map_sample ( __isl_take isl_basic_map bmap)

◆ isl_basic_set_from_vec()

__isl_give isl_basic_set * isl_basic_set_from_vec ( __isl_take isl_vec vec)

◆ isl_basic_set_sample()

__isl_give isl_basic_set * isl_basic_set_sample ( __isl_take isl_basic_set bset)

Definition at line 1265 of file isl_sample.c.

References isl_basic_map_sample().

Referenced by isl::basic_set::sample(), and test_sample().

◆ isl_basic_set_sample_bounded()

__isl_give isl_vec * isl_basic_set_sample_bounded ( __isl_take isl_basic_set bset)
static

Definition at line 1204 of file isl_sample.c.

References basic_set_sample().

Referenced by basic_set_sample().

◆ isl_basic_set_sample_point()

__isl_give isl_point * isl_basic_set_sample_point ( __isl_take isl_basic_set bset)

◆ isl_basic_set_sample_vec()

__isl_give isl_vec * isl_basic_set_sample_vec ( __isl_take isl_basic_set bset)

◆ isl_basic_set_sample_with_cone()

__isl_give isl_vec * isl_basic_set_sample_with_cone ( __isl_take isl_basic_set bset,
__isl_take isl_basic_set cone 
)

◆ isl_map_sample()

__isl_give isl_basic_map * isl_map_sample ( __isl_take isl_map map)

◆ isl_set_sample()

__isl_give isl_basic_set * isl_set_sample ( __isl_take isl_set set)

Definition at line 1295 of file isl_sample.c.

References bset_from_bmap(), isl_map_sample(), set, and set_to_map.

Referenced by isl::set::sample().

◆ isl_set_sample_point()

__isl_give isl_point * isl_set_sample_point ( __isl_take isl_set set)

◆ isl_tab_sample()

__isl_give isl_vec * isl_tab_sample ( struct isl_tab tab)

◆ isl_tab_set_initial_basis_with_cone()

int isl_tab_set_initial_basis_with_cone ( struct isl_tab tab,
struct isl_tab tab_cone 
)

◆ plug_in()

static __isl_give isl_basic_set * plug_in ( __isl_take isl_basic_set bset,
__isl_take isl_vec sample 
)
static

◆ rational_sample()

static __isl_give isl_vec * rational_sample ( __isl_take isl_basic_set bset)
static

◆ round_up_in_cone()

static __isl_give isl_vec * round_up_in_cone ( __isl_take isl_vec vec,
__isl_take isl_basic_set cone,
__isl_take isl_mat U 
)
static

◆ sample_bounded()

static __isl_give isl_vec * sample_bounded ( __isl_take isl_basic_set bset)
static

◆ sample_eq()

static __isl_give isl_vec * sample_eq ( __isl_take isl_basic_set bset,
__isl_give isl_vec *(*)(__isl_take isl_basic_set *)  recurse 
)
static

◆ shift_cone()

static __isl_give isl_basic_set * shift_cone ( __isl_take isl_basic_set cone,
__isl_take isl_vec vec 
)
static

◆ tab_equalities()

static struct isl_mat * tab_equalities ( struct isl_tab tab)
static

◆ tab_shift_cone()

static int tab_shift_cone ( struct isl_tab tab,
struct isl_tab tab_cone,
struct isl_mat U 
)
static

◆ vec_concat()

static __isl_give isl_vec * vec_concat ( __isl_take isl_vec vec1,
__isl_take isl_vec vec2 
)
static

◆ vec_sum_of_neg()

static void vec_sum_of_neg ( __isl_keep isl_vec v,
isl_int s 
)
static

Definition at line 996 of file isl_sample.c.

References isl_int_add, isl_int_is_neg, and isl_int_set_si.

Referenced by tab_shift_cone().

◆ zero_sample()

static __isl_give isl_vec * zero_sample ( __isl_take isl_basic_set bset)
static