Polly 22.0.0git
isl_val.c File Reference

Go to the source code of this file.

Macros

#define EL_BASE   val
#define isl_val_involves_nan   isl_val_is_nan
#define BASE   val

Functions

__isl_give isl_valisl_val_alloc (isl_ctx *ctx)
__isl_give isl_valisl_val_zero (isl_ctx *ctx)
__isl_give isl_valisl_val_one (isl_ctx *ctx)
__isl_give isl_valisl_val_negone (isl_ctx *ctx)
__isl_give isl_valisl_val_nan (isl_ctx *ctx)
__isl_give isl_valisl_val_set_nan (__isl_take isl_val *v)
__isl_give isl_valisl_val_infty (isl_ctx *ctx)
__isl_give isl_valisl_val_neginfty (isl_ctx *ctx)
__isl_give isl_valisl_val_int_from_si (isl_ctx *ctx, long i)
__isl_give isl_valisl_val_set_si (__isl_take isl_val *v, long i)
__isl_give isl_valisl_val_set_zero (__isl_take isl_val *v)
__isl_give isl_valisl_val_int_from_ui (isl_ctx *ctx, unsigned long u)
__isl_give isl_valisl_val_int_from_isl_int (isl_ctx *ctx, isl_int n)
__isl_give isl_valisl_val_rat_from_isl_int (isl_ctx *ctx, isl_int n, isl_int d)
__isl_give isl_valisl_val_copy (__isl_keep isl_val *v)
__isl_give isl_valisl_val_dup (__isl_keep isl_val *val)
__isl_give isl_valisl_val_cow (__isl_take isl_val *val)
__isl_null isl_valisl_val_free (__isl_take isl_val *v)
long isl_val_get_num_si (__isl_keep isl_val *v)
isl_stat isl_val_get_num_isl_int (__isl_keep isl_val *v, isl_int *n)
long isl_val_get_den_si (__isl_keep isl_val *v)
__isl_give isl_valisl_val_get_den_val (__isl_keep isl_val *v)
double isl_val_get_d (__isl_keep isl_val *v)
isl_ctxisl_val_get_ctx (__isl_keep isl_val *val)
uint32_t isl_val_get_hash (__isl_keep isl_val *val)
__isl_give isl_valisl_val_normalize (__isl_take isl_val *v)
__isl_give isl_valisl_val_neg (__isl_take isl_val *v)
__isl_give isl_valisl_val_inv (__isl_take isl_val *v)
__isl_give isl_valisl_val_abs (__isl_take isl_val *v)
__isl_give isl_valisl_val_floor (__isl_take isl_val *v)
__isl_give isl_valisl_val_ceil (__isl_take isl_val *v)
__isl_give isl_valisl_val_trunc (__isl_take isl_val *v)
__isl_give isl_valisl_val_pow2 (__isl_take isl_val *v)
__isl_give isl_valisl_val_2exp (__isl_take isl_val *v)
__isl_give isl_valisl_val_min (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_max (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_add (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_add_ui (__isl_take isl_val *v1, unsigned long v2)
__isl_give isl_valisl_val_sub (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_sub_ui (__isl_take isl_val *v1, unsigned long v2)
__isl_give isl_valisl_val_mul (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_scale_val (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_mul_ui (__isl_take isl_val *v1, unsigned long v2)
__isl_give isl_valisl_val_div (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_div_ui (__isl_take isl_val *v1, unsigned long v2)
__isl_give isl_valisl_val_scale_down_val (__isl_take isl_val *v1, __isl_take isl_val *v2)
isl_bool isl_val_is_divisible_by (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
__isl_give isl_valisl_val_mod (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_mod_val (__isl_take isl_val *v1, __isl_take isl_val *v2)
__isl_give isl_valisl_val_gcd (__isl_take isl_val *v1, __isl_take isl_val *v2)
static void isl_int_gcdext (isl_int *g, isl_int *x, isl_int *y, isl_int a, isl_int b)
__isl_give isl_valisl_val_gcdext (__isl_take isl_val *v1, __isl_take isl_val *v2, __isl_give isl_val **x, __isl_give isl_val **y)
isl_bool isl_val_is_int (__isl_keep isl_val *v)
isl_bool isl_val_is_rat (__isl_keep isl_val *v)
isl_bool isl_val_is_nan (__isl_keep isl_val *v)
isl_bool isl_val_is_infty (__isl_keep isl_val *v)
isl_bool isl_val_is_neginfty (__isl_keep isl_val *v)
isl_bool isl_val_is_zero (__isl_keep isl_val *v)
isl_bool isl_val_is_one (__isl_keep isl_val *v)
isl_bool isl_val_is_negone (__isl_keep isl_val *v)
isl_bool isl_val_is_pos (__isl_keep isl_val *v)
isl_bool isl_val_is_neg (__isl_keep isl_val *v)
isl_bool isl_val_is_nonneg (__isl_keep isl_val *v)
isl_bool isl_val_is_nonpos (__isl_keep isl_val *v)
int isl_val_sgn (__isl_keep isl_val *v)
isl_bool isl_val_lt (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
isl_bool isl_val_gt (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
isl_bool isl_val_gt_si (__isl_keep isl_val *v, long i)
isl_bool isl_val_le (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
isl_bool isl_val_ge (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
int isl_val_cmp_si (__isl_keep isl_val *v, long i)
isl_bool isl_val_eq (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
isl_bool isl_val_eq_si (__isl_keep isl_val *v, long i)
isl_bool isl_val_abs_eq (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
isl_bool isl_val_ne (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
__isl_give isl_printerisl_printer_print_val (__isl_take isl_printer *p, __isl_keep isl_val *v)
isl_bool isl_val_plain_is_equal (__isl_keep isl_val *val1, __isl_keep isl_val *val2)
isl_bool isl_val_involves_dims (__isl_keep isl_val *v, enum isl_dim_type type, unsigned first, unsigned n)
__isl_give isl_valisl_val_insert_dims (__isl_take isl_val *v, enum isl_dim_type type, unsigned first, unsigned n)
__isl_give isl_valisl_val_set_dim_name (__isl_take isl_val *v, enum isl_dim_type type, unsigned pos, const char *s)
__isl_give isl_valisl_val_zero_on_domain (__isl_take isl_local_space *ls)
isl_bool isl_multi_val_is_zero (__isl_keep isl_multi_val *mv)
__isl_give isl_multi_valisl_multi_val_add_val (__isl_take isl_multi_val *mv, __isl_take isl_val *v)
__isl_give isl_multi_valisl_multi_val_mod_val (__isl_take isl_multi_val *mv, __isl_take isl_val *v)

Macro Definition Documentation

◆ BASE

#define BASE   val

Definition at line 1575 of file isl_val.c.

◆ EL_BASE

#define EL_BASE   val

Definition at line 15 of file isl_val.c.

◆ isl_val_involves_nan

#define isl_val_involves_nan   isl_val_is_nan

Definition at line 1572 of file isl_val.c.

Function Documentation

◆ isl_int_gcdext()

◆ isl_multi_val_add_val()

◆ isl_multi_val_is_zero()

isl_bool isl_multi_val_is_zero ( __isl_keep isl_multi_val * mv)

Definition at line 1594 of file isl_val.c.

References __isl_keep, and isl_val_is_zero().

◆ isl_multi_val_mod_val()

__isl_give isl_multi_val * isl_multi_val_mod_val ( __isl_take isl_multi_val * mv,
__isl_take isl_val * v )

Definition at line 1615 of file isl_val.c.

References __isl_give, __isl_take, and isl_val_mod().

Referenced by generate_shift_component().

◆ isl_printer_print_val()

◆ isl_val_2exp()

__isl_give isl_val * isl_val_2exp ( __isl_take isl_val * v)

Definition at line 563 of file isl_val.c.

References __isl_give, __isl_take, and isl_val_pow2().

Referenced by getWidthExpValOnDomain().

◆ isl_val_abs()

◆ isl_val_abs_eq()

◆ isl_val_add()

◆ isl_val_add_ui()

__isl_give isl_val * isl_val_add_ui ( __isl_take isl_val * v1,
unsigned long v2 )

◆ isl_val_alloc()

◆ isl_val_ceil()

◆ isl_val_cmp_si()

◆ isl_val_copy()

◆ isl_val_cow()

◆ isl_val_div()

◆ isl_val_div_ui()

◆ isl_val_dup()

__isl_give isl_val * isl_val_dup ( __isl_keep isl_val * val)

Definition at line 230 of file isl_val.c.

References __isl_give, __isl_keep, dup(), isl_int_set, isl_val_alloc(), isl_val_get_ctx(), and val.

Referenced by isl_val_cow().

◆ isl_val_eq()

◆ isl_val_eq_si()

isl_bool isl_val_eq_si ( __isl_keep isl_val * v,
long i )

Definition at line 1434 of file isl_val.c.

References __isl_keep, isl_bool_error, isl_bool_false, isl_bool_ok(), isl_int_cmp_si, and isl_val_is_int().

Referenced by is_even_test().

◆ isl_val_floor()

◆ isl_val_free()

__isl_null isl_val * isl_val_free ( __isl_take isl_val * v)

Definition at line 263 of file isl_val.c.

References __isl_null, __isl_take, isl_ctx_deref(), and isl_int_clear.

Referenced by add_rational(), aff_constant_is_negative(), aff_is_rational(), polly::APIntFromVal(), basic_set_opt_lp(), check_parallel_or_opposite(), clear_opposite_sign(), compute_max_coefficient(), compute_size_in_direction(), convert_lp_result(), create_node(), detect_stride(), dim_is_fixed(), every_non_zero_coefficient(), extract_modulo(), extract_modulos(), extract_rational(), find_node_coalescing(), FN(), FN(), FN(), FN(), FN(), FN(), FN(), generate_component(), get_size_bounds(), has_sign(), is_even_test(), is_non_neg_after_stealing(), is_stride_constraint(), isl_aff_add_coefficient_val(), isl_aff_add_constant_val(), isl_aff_add_rat_constant_val(), isl_aff_mod_val(), isl_aff_scale_down_val(), isl_aff_scale_val(), isl_aff_set_coefficient_val(), isl_aff_set_constant_val(), isl_aff_val_on_domain(), isl_ast_build_detect_strides(), isl_ast_build_has_stride(), isl_ast_build_scale_down(), isl_ast_expr_add_int(), isl_ast_expr_free(), isl_ast_expr_from_val(), isl_basic_map_fix_val(), isl_basic_map_plain_get_val_if_fixed(), isl_basic_set_bound_val(), isl_constraint_set_coefficient_val(), isl_constraint_set_constant_val(), isl_fixed_box_invalidate(), isl_map_fix_val(), isl_map_floordiv_val(), isl_map_get_range_lattice_tile(), isl_map_lower_bound_val(), isl_map_plain_get_val_if_fixed(), isl_map_upper_bound_val(), isl_mat_set_element_val(), isl_multi_union_pw_aff_tile(), isl_multi_val_add_val(), isl_obj_val_free(), isl_point_set_coordinate_val(), isl_poly_eval(), isl_pw_aff_mod_val(), isl_pw_aff_opt_val(), isl_qpolynomial_fold_scale_down_val(), isl_qpolynomial_fold_scale_val(), isl_qpolynomial_get_den(), isl_qpolynomial_opt_on_domain(), isl_qpolynomial_scale_down_val(), isl_qpolynomial_scale_val(), isl_qpolynomial_val_on_domain(), isl_set_count_val(), isl_set_dim_residue_class_val(), isl_stride_info_alloc(), isl_stride_info_free(), isl_union_pw_aff_mod_val(), isl_union_pw_aff_opt_val(), isl_union_pw_aff_val_on_domain(), isl_val_add(), isl_val_div(), isl_val_gcd(), isl_val_gcdext(), isl_val_gt_si(), isl_val_inv(), isl_val_max(), isl_val_min(), isl_val_mod(), isl_val_mul(), isl_val_pow2(), isl_val_sub(), isl_vec_set_element_val(), isl_vec_set_val(), mod_constraint_is_simpler(), MULTI(), MULTI(), pick_free(), print_aff_num_mod(), print_ast_expr_isl(), print_mod_term(), print_qpolynomial_c(), read_band(), scale(), sched_info_alloc(), set_coincident(), set_detect_stride(), set_dim_extent(), set_nan(), set_nan_free_val(), set_stride(), set_stride(), shift_if_cst_int(), subtree_schedule_extend_from_children(), test_bin_val(), test_eval_1(), test_eval_2(), test_eval_3(), test_eval_aff(), test_min(), test_min_special(), test_min_special2(), test_pwqp_max(), test_un_val(), try_extract_mod(), update_unrolling_lower_bound(), val_check_equal(), val_opt(), verify_point(), and isl::val::~val().

◆ isl_val_gcd()

◆ isl_val_gcdext()

◆ isl_val_ge()

isl_bool isl_val_ge ( __isl_keep isl_val * v1,
__isl_keep isl_val * v2 )

Definition at line 1383 of file isl_val.c.

References __isl_keep, and isl_val_le().

Referenced by isl::val::ge(), and isl_val_max().

◆ isl_val_get_ctx()

◆ isl_val_get_d()

double isl_val_get_d ( __isl_keep isl_val * v)

◆ isl_val_get_den_si()

long isl_val_get_den_si ( __isl_keep isl_val * v)

◆ isl_val_get_den_val()

◆ isl_val_get_hash()

uint32_t isl_val_get_hash ( __isl_keep isl_val * val)

Definition at line 362 of file isl_val.c.

References __isl_keep, isl_hash_init, isl_int_hash, and val.

◆ isl_val_get_num_isl_int()

isl_stat isl_val_get_num_isl_int ( __isl_keep isl_val * v,
isl_int * n )

◆ isl_val_get_num_si()

◆ isl_val_gt()

isl_bool isl_val_gt ( __isl_keep isl_val * v1,
__isl_keep isl_val * v2 )

Definition at line 1318 of file isl_val.c.

References __isl_keep, and isl_val_lt().

Referenced by isl::val::gt(), and isl_val_gt_si().

◆ isl_val_gt_si()

◆ isl_val_infty()

◆ isl_val_insert_dims()

__isl_give isl_val * isl_val_insert_dims ( __isl_take isl_val * v,
enum isl_dim_type type,
unsigned first,
unsigned n )

Definition at line 1535 of file isl_val.c.

References __isl_give, __isl_take, n, and type.

◆ isl_val_int_from_isl_int()

◆ isl_val_int_from_si()

◆ isl_val_int_from_ui()

__isl_give isl_val * isl_val_int_from_ui ( isl_ctx * ctx,
unsigned long u )

◆ isl_val_inv()

◆ isl_val_involves_dims()

isl_bool isl_val_involves_dims ( __isl_keep isl_val * v,
enum isl_dim_type type,
unsigned first,
unsigned n )

Definition at line 1519 of file isl_val.c.

References __isl_keep, isl_bool_error, isl_bool_false, n, and type.

◆ isl_val_is_divisible_by()

◆ isl_val_is_infty()

◆ isl_val_is_int()

◆ isl_val_is_nan()

◆ isl_val_is_neg()

◆ isl_val_is_neginfty()

◆ isl_val_is_negone()

isl_bool isl_val_is_negone ( __isl_keep isl_val * v)

◆ isl_val_is_nonneg()

◆ isl_val_is_nonpos()

isl_bool isl_val_is_nonpos ( __isl_keep isl_val * v)

◆ isl_val_is_one()

◆ isl_val_is_pos()

◆ isl_val_is_rat()

◆ isl_val_is_zero()

◆ isl_val_le()

◆ isl_val_lt()

◆ isl_val_max()

◆ isl_val_min()

◆ isl_val_mod()

◆ isl_val_mod_val()

__isl_give isl_val * isl_val_mod_val ( __isl_take isl_val * v1,
__isl_take isl_val * v2 )

Definition at line 1008 of file isl_val.c.

References __isl_give, __isl_take, and isl_val_mod().

◆ isl_val_mul()

◆ isl_val_mul_ui()

__isl_give isl_val * isl_val_mul_ui ( __isl_take isl_val * v1,
unsigned long v2 )

◆ isl_val_nan()

◆ isl_val_ne()

isl_bool isl_val_ne ( __isl_keep isl_val * v1,
__isl_keep isl_val * v2 )

◆ isl_val_neg()

◆ isl_val_neginfty()

◆ isl_val_negone()

__isl_give isl_val * isl_val_negone ( isl_ctx * ctx)

Definition at line 55 of file isl_val.c.

References __isl_give, and isl_val_int_from_si().

Referenced by isl::val::negone().

◆ isl_val_normalize()

◆ isl_val_one()

__isl_give isl_val * isl_val_one ( isl_ctx * ctx)

Definition at line 48 of file isl_val.c.

References __isl_give, and isl_val_int_from_si().

Referenced by isl_qpolynomial_get_den(), isl::val::one(), set_detect_stride(), and test_pwqp().

◆ isl_val_plain_is_equal()

isl_bool isl_val_plain_is_equal ( __isl_keep isl_val * val1,
__isl_keep isl_val * val2 )

Definition at line 1505 of file isl_val.c.

References __isl_keep, and isl_val_eq().

◆ isl_val_pow2()

◆ isl_val_rat_from_isl_int()

◆ isl_val_scale_down_val()

__isl_give isl_val * isl_val_scale_down_val ( __isl_take isl_val * v1,
__isl_take isl_val * v2 )

Definition at line 956 of file isl_val.c.

References __isl_give, __isl_take, and isl_val_div().

◆ isl_val_scale_val()

__isl_give isl_val * isl_val_scale_val ( __isl_take isl_val * v1,
__isl_take isl_val * v2 )

Definition at line 843 of file isl_val.c.

References __isl_give, __isl_take, and isl_val_mul().

◆ isl_val_set_dim_name()

__isl_give isl_val * isl_val_set_dim_name ( __isl_take isl_val * v,
enum isl_dim_type type,
unsigned pos,
const char * s )

Definition at line 1548 of file isl_val.c.

References __isl_give, __isl_take, pos(), and type.

◆ isl_val_set_nan()

◆ isl_val_set_si()

__isl_give isl_val * isl_val_set_si ( __isl_take isl_val * v,
long i )

Definition at line 144 of file isl_val.c.

References __isl_give, __isl_take, isl_int_cmp_si, isl_int_set_si, isl_val_cow(), and isl_val_is_int().

Referenced by create_node(), and isl_val_set_zero().

◆ isl_val_set_zero()

__isl_give isl_val * isl_val_set_zero ( __isl_take isl_val * v)

Definition at line 162 of file isl_val.c.

References __isl_give, __isl_take, and isl_val_set_si().

Referenced by isl_val_div().

◆ isl_val_sgn()

◆ isl_val_sub()

◆ isl_val_sub_ui()

__isl_give isl_val * isl_val_sub_ui ( __isl_take isl_val * v1,
unsigned long v2 )

Definition at line 763 of file isl_val.c.

References __isl_give, __isl_take, isl_int_submul_ui, isl_val_cow(), and isl_val_is_rat().

Referenced by aff_pos_basic_set(), and try_extract_mod().

◆ isl_val_trunc()

◆ isl_val_zero()

◆ isl_val_zero_on_domain()

__isl_give isl_val * isl_val_zero_on_domain ( __isl_take isl_local_space * ls)