40 isl_multi_aff_free(box->offset);
41 isl_multi_val_free(box->size);
56 ctx = isl_multi_aff_get_ctx(
offset);
65 isl_multi_aff_free(
offset);
66 isl_multi_val_free(size);
81 size = isl_multi_val_zero(space);
106 box->
offset = isl_multi_aff_set_aff(box->offset,
pos,
109 if (!box->offset || !box->size)
124 if (valid < 0 || !valid)
150 for (i = 0; i <
n; ++i)
155 if (!box->offset || !box->size)
174 box->offset = isl_multi_aff_project_domain_on_params(box->offset);
187 return isl_multi_aff_get_ctx(box->offset);
196 return isl_multi_aff_get_space(box->offset);
205 return isl_bool_not(isl_multi_aff_involves_nan(box->offset));
262 return isl_multi_aff_plain_is_equal(offset1, offset2);
339 if (is_one < 0 || is_one) {
352 expand = isl_multi_aff_scale_val(
id, stride);
378 isl_multi_aff_copy(info->
expand));
407 ma = isl_multi_aff_range_product(isl_multi_aff_copy(info->
domain_map),
411 ma = isl_multi_aff_range_factor_range(
ma);
412 aff = isl_multi_aff_get_at(
ma, 0);
413 isl_multi_aff_free(
ma);
426 isl_multi_aff_free(info->
expand);
479 if (better >= 0 && better) {
585 for (i = 0; i <
n; ++i) {
590 if (valid < 0 || !valid)
654 for (i = 0; i <
n; ++i) {
705#define BASE multi_val
709#define BASE multi_aff
731#define BASE fixed_box
735#define KEY enum isl_fb_key
737#define KEY_ERROR isl_fb_key_error
739#define KEY_END isl_fb_key_end
741#define KEY_STR key_str
743#define KEY_EXTRACT extract_key
745#define KEY_GET get_key
749#define BASE multi_val
753#define BASE multi_aff
783 isl_multi_aff_free(
offset);
784 offset = read_multi_aff(s);
789 isl_multi_val_free(
size);
790 size = read_multi_val(s);
814 isl_multi_aff_free(
offset);
815 isl_multi_val_free(
size);
820#define TYPE_BASE fixed_box
__isl_null isl_aff * isl_aff_free(__isl_take isl_aff *aff)
__isl_export __isl_give isl_multi_aff * isl_space_range_map_multi_aff(__isl_take isl_space *space)
__isl_give isl_aff * isl_aff_nan_on_domain(__isl_take isl_local_space *ls)
__isl_export __isl_give isl_aff * isl_aff_neg(__isl_take isl_aff *aff)
__isl_overload __isl_give isl_multi_aff * isl_multi_aff_pullback_multi_aff(__isl_take isl_multi_aff *ma1, __isl_take isl_multi_aff *ma2)
__isl_export __isl_give isl_multi_aff * isl_space_domain_map_multi_aff(__isl_take isl_space *space)
__isl_give isl_space * isl_aff_get_space(__isl_keep isl_aff *aff)
__isl_overload __isl_give isl_aff * isl_aff_pullback_multi_aff(__isl_take isl_aff *aff, __isl_take isl_multi_aff *ma)
__isl_give isl_aff * isl_aff_copy(__isl_keep isl_aff *aff)
__isl_give isl_aff * isl_aff_add_coefficient_si(__isl_take isl_aff *aff, enum isl_dim_type type, int pos, int v)
__isl_constructor __isl_give isl_multi_aff * isl_multi_aff_from_aff(__isl_take isl_aff *aff)
__isl_export __isl_give isl_aff * isl_aff_ceil(__isl_take isl_aff *aff)
struct isl_multi_aff isl_multi_aff
__isl_give isl_aff * isl_constraint_get_bound(__isl_keep isl_constraint *constraint, enum isl_dim_type type, int pos)
__isl_null isl_constraint * isl_constraint_free(__isl_take isl_constraint *c)
isl_bool isl_constraint_is_lower_bound(__isl_keep isl_constraint *constraint, enum isl_dim_type type, unsigned pos)
isl_stat isl_basic_set_foreach_constraint(__isl_keep isl_basic_set *bset, isl_stat(*fn)(__isl_take isl_constraint *c, void *user), void *user)
#define isl_alloc_type(ctx, type)
isl_bool isl_bool_not(isl_bool b)
isl_bool __isl_keep ISL_KEY * key
isl_stat isl_stat void * user
__isl_give isl_val * isl_basic_set_max_val(__isl_keep isl_basic_set *bset, __isl_keep isl_aff *obj)
__isl_give isl_aff * isl_aff_domain_factor_domain(__isl_take isl_aff *aff)
__isl_give isl_fixed_box * isl_set_get_lattice_tile(__isl_keep isl_set *set)
static __isl_give isl_fixed_box * isl_fixed_box_set_extent(__isl_take isl_fixed_box *box, int pos, __isl_keep isl_aff *offset, __isl_keep isl_val *size)
static void isl_size_info_clear(struct isl_size_info *info)
static __isl_give isl_aff * isl_size_info_expand(struct isl_size_info *info, __isl_take isl_aff *aff)
__isl_give isl_fixed_box * isl_set_get_simple_fixed_box_hull(__isl_keep isl_set *set)
static isl_stat compute_size_in_direction(__isl_take isl_constraint *c, void *user)
isl_ctx * isl_fixed_box_get_ctx(__isl_keep isl_fixed_box *box)
static isl_bool is_suitable_bound(__isl_keep isl_constraint *c, unsigned pos)
static __isl_give isl_fixed_box * isl_fixed_box_init(__isl_take isl_space *space)
__isl_give isl_fixed_box * isl_map_get_range_lattice_tile(__isl_keep isl_map *map)
__isl_give isl_fixed_box * isl_fixed_box_copy(__isl_keep isl_fixed_box *box)
static __isl_give isl_map * isl_size_info_detect_stride(struct isl_size_info *info, __isl_take isl_map *map)
static __isl_keep isl_multi_aff * isl_fixed_box_peek_offset(__isl_keep isl_fixed_box *box)
__isl_give isl_fixed_box * isl_map_get_range_simple_fixed_box_hull(__isl_keep isl_map *map)
static __isl_give isl_fixed_box * isl_stream_read_fixed_box(isl_stream *s)
static __isl_give isl_fixed_box * set_dim_extent(__isl_take isl_fixed_box *box, __isl_keep isl_map *map, int pos)
__isl_give isl_multi_val * isl_fixed_box_get_size(__isl_keep isl_fixed_box *box)
isl_bool isl_fixed_box_plain_is_equal(__isl_keep isl_fixed_box *box1, __isl_keep isl_fixed_box *box2)
__isl_give isl_printer * isl_printer_print_fixed_box(__isl_take isl_printer *p, __isl_keep isl_fixed_box *box)
__isl_give isl_multi_aff * isl_fixed_box_get_offset(__isl_keep isl_fixed_box *box)
static __isl_give isl_fixed_box * isl_fixed_box_alloc(__isl_take isl_multi_aff *offset, __isl_take isl_multi_val *size)
__isl_null isl_fixed_box * isl_fixed_box_free(__isl_take isl_fixed_box *box)
static __isl_keep isl_multi_val * isl_fixed_box_peek_size(__isl_keep isl_fixed_box *box)
__isl_give isl_space * isl_fixed_box_get_space(__isl_keep isl_fixed_box *box)
static __isl_give isl_basic_set * isl_size_info_contract(struct isl_size_info *info, __isl_take isl_basic_set *bset)
static __isl_give isl_fixed_box * fixed_box_as_map(__isl_keep isl_set *set, __isl_give isl_fixed_box *(*map_box)(__isl_keep isl_map *map))
static __isl_give isl_fixed_box * isl_fixed_box_project_domain_on_params(__isl_take isl_fixed_box *box)
static __isl_give isl_fixed_box * isl_fixed_box_invalidate(__isl_take isl_fixed_box *box)
isl_bool isl_fixed_box_is_valid(__isl_keep isl_fixed_box *box)
static __isl_give isl_fixed_box * isl_fixed_box_set_valid_extent(__isl_take isl_fixed_box *box, int pos, __isl_keep isl_aff *offset, __isl_keep isl_val *size)
static unsigned offset(__isl_keep isl_constraint *c, enum isl_dim_type type)
static int is_bound(struct sh_data *data, __isl_keep isl_set *set, int j, isl_int *ineq, int shift)
__isl_give isl_map * isl_map_project_onto(__isl_take isl_map *map, enum isl_dim_type type, unsigned first, unsigned n)
static unsigned pos(__isl_keep isl_space *space, enum isl_dim_type type)
static __isl_give isl_poly * expand(__isl_take isl_poly *poly, int *exp, int first)
__isl_give isl_local_space * isl_local_space_from_space(__isl_take isl_space *space)
__isl_export __isl_give isl_map * isl_map_detect_equalities(__isl_take isl_map *map)
__isl_give isl_map * isl_map_copy(__isl_keep isl_map *map)
__isl_export __isl_give isl_space * isl_map_get_space(__isl_keep isl_map *map)
isl_ctx * isl_map_get_ctx(__isl_keep isl_map *map)
isl_size isl_map_dim(__isl_keep isl_map *map, enum isl_dim_type type)
__isl_give isl_map * isl_map_from_range(__isl_take isl_set *set)
__isl_give isl_basic_set * isl_basic_map_wrap(__isl_take isl_basic_map *bmap)
__isl_null isl_map * isl_map_free(__isl_take isl_map *map)
__isl_export __isl_give isl_fixed_box * isl_map_get_range_simple_fixed_box_hull(__isl_keep isl_map *map)
__isl_give isl_stride_info * isl_map_get_range_stride_info(__isl_keep isl_map *map, int pos)
__isl_export __isl_give isl_fixed_box * isl_map_get_range_lattice_tile(__isl_keep isl_map *map)
__isl_give isl_basic_map * isl_map_simple_hull(__isl_take isl_map *map)
__isl_give isl_printer * isl_printer_yaml_start_mapping(__isl_take isl_printer *p)
__isl_null isl_printer * isl_printer_free(__isl_take isl_printer *printer)
__isl_give isl_printer * isl_printer_yaml_end_mapping(__isl_take isl_printer *p)
__isl_give isl_basic_set * isl_basic_set_preimage_multi_aff(__isl_take isl_basic_set *bset, __isl_take isl_multi_aff *ma)
__isl_null isl_basic_set * isl_basic_set_free(__isl_take isl_basic_set *bset)
__isl_give isl_set * isl_set_copy(__isl_keep isl_set *set)
__isl_give isl_basic_set * isl_basic_set_remove_divs_involving_dims(__isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned first, unsigned n)
__isl_give isl_basic_set * isl_basic_set_copy(__isl_keep isl_basic_set *bset)
__isl_give isl_basic_set * isl_basic_set_remove_unknown_divs(__isl_take isl_basic_set *bset)
__isl_give isl_space * isl_space_copy(__isl_keep isl_space *space)
__isl_export __isl_give isl_space * isl_space_range(__isl_take isl_space *space)
__isl_export __isl_give isl_space * isl_space_drop_all_params(__isl_take isl_space *space)
__isl_export __isl_give isl_space * isl_space_domain(__isl_take isl_space *space)
void isl_stream_error(__isl_keep isl_stream *s, struct isl_token *tok, char *msg)
isl_bool isl_stream_yaml_next(__isl_keep isl_stream *s)
isl_stat isl_stream_yaml_read_start_mapping(__isl_keep isl_stream *s)
isl_stat isl_stream_yaml_read_end_mapping(__isl_keep isl_stream *s)
__isl_null isl_stride_info * isl_stride_info_free(__isl_take isl_stride_info *si)
__isl_give isl_aff * isl_stride_info_get_offset(__isl_keep isl_stride_info *si)
__isl_give isl_val * isl_stride_info_get_stride(__isl_keep isl_stride_info *si)
isl_multi_aff * domain_map
static Signature domain_map
__isl_export isl_bool isl_val_lt(__isl_keep isl_val *v1, __isl_keep isl_val *v2)
__isl_give isl_val * isl_val_copy(__isl_keep isl_val *v)
__isl_give isl_val * isl_val_add_ui(__isl_take isl_val *v1, unsigned long v2)
__isl_export isl_bool isl_multi_val_is_equal(__isl_keep isl_multi_val *mv1, __isl_keep isl_multi_val *mv2)
__isl_export __isl_give isl_val * isl_val_infty(isl_ctx *ctx)
__isl_null isl_val * isl_val_free(__isl_take isl_val *v)
__isl_export isl_bool isl_val_is_one(__isl_keep isl_val *v)
__isl_export isl_bool isl_val_is_int(__isl_keep isl_val *v)
struct isl_multi_val isl_multi_val