Polly 22.0.0git
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()

◆ compute_max()

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

◆ compute_min()

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_keep, 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()

__isl_give isl_vec * empty_sample ( __isl_take isl_basic_set * bset)
static

◆ factor_sample()

◆ factored_sample()

◆ gbr_sample()

◆ greedy_search()

◆ initial_basis()

◆ interval_sample()

◆ isl_basic_map_sample()

◆ isl_basic_set_from_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_give, __isl_take, isl_basic_map_sample(), and isl_basic_set.

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 __isl_give, __isl_take, basic_set_sample(), and isl_basic_set.

Referenced by basic_set_sample().

◆ isl_basic_set_sample_point()

◆ isl_basic_set_sample_vec()

◆ isl_basic_set_sample_with_cone()

◆ isl_map_sample()

◆ isl_set_sample()

__isl_give isl_basic_set * isl_set_sample ( __isl_take isl_set * set)

◆ isl_set_sample_point()

◆ isl_tab_sample()

◆ isl_tab_set_initial_basis_with_cone()

◆ plug_in()

◆ rational_sample()

◆ round_up_in_cone()

◆ sample_bounded()

◆ sample_eq()

◆ shift_cone()

◆ tab_equalities()

◆ tab_shift_cone()

◆ vec_concat()

◆ vec_sum_of_neg()

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_keep, isl_int_add, isl_int_is_neg, and isl_int_set_si.

Referenced by tab_shift_cone().

◆ zero_sample()