Polly 20.0.0git
Functions
val.h File Reference
#include <isl/stdint.h>
#include <isl/ctx.h>
#include <isl/list.h>
#include <isl/multi.h>
#include <isl/printer.h>
#include <isl/val_type.h>

Go to the source code of this file.

Functions

__isl_export __isl_give isl_valisl_val_zero (isl_ctx *ctx)
 
__isl_export __isl_give isl_valisl_val_one (isl_ctx *ctx)
 
__isl_export __isl_give isl_valisl_val_negone (isl_ctx *ctx)
 
__isl_export __isl_give isl_valisl_val_nan (isl_ctx *ctx)
 
__isl_export __isl_give isl_valisl_val_infty (isl_ctx *ctx)
 
__isl_export __isl_give isl_valisl_val_neginfty (isl_ctx *ctx)
 
__isl_constructor __isl_give isl_valisl_val_int_from_si (isl_ctx *ctx, long i)
 
__isl_give isl_valisl_val_int_from_ui (isl_ctx *ctx, unsigned long u)
 
__isl_give isl_valisl_val_int_from_chunks (isl_ctx *ctx, size_t n, size_t size, const void *chunks)
 
__isl_give isl_valisl_val_copy (__isl_keep isl_val *v)
 
__isl_null isl_valisl_val_free (__isl_take 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_export long isl_val_get_num_si (__isl_keep isl_val *v)
 
__isl_export 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_size isl_val_n_abs_num_chunks (__isl_keep isl_val *v, size_t size)
 
isl_stat isl_val_get_abs_num_chunks (__isl_keep isl_val *v, size_t size, void *chunks)
 
__isl_give isl_valisl_val_set_si (__isl_take isl_val *v, long i)
 
__isl_export __isl_give isl_valisl_val_abs (__isl_take isl_val *v)
 
__isl_export __isl_give isl_valisl_val_neg (__isl_take isl_val *v)
 
__isl_export __isl_give isl_valisl_val_inv (__isl_take isl_val *v)
 
__isl_export __isl_give isl_valisl_val_floor (__isl_take isl_val *v)
 
__isl_export __isl_give isl_valisl_val_ceil (__isl_take isl_val *v)
 
__isl_export __isl_give isl_valisl_val_trunc (__isl_take isl_val *v)
 
__isl_give isl_valisl_val_2exp (__isl_take isl_val *v)
 
__isl_export __isl_give isl_valisl_val_pow2 (__isl_take isl_val *v)
 
__isl_export __isl_give isl_valisl_val_min (__isl_take isl_val *v1, __isl_take isl_val *v2)
 
__isl_export __isl_give isl_valisl_val_max (__isl_take isl_val *v1, __isl_take isl_val *v2)
 
__isl_export __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_export __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_export __isl_give isl_valisl_val_mul (__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_export __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_export __isl_give isl_valisl_val_mod (__isl_take isl_val *v1, __isl_take isl_val *v2)
 
__isl_export __isl_give isl_valisl_val_gcd (__isl_take isl_val *v1, __isl_take isl_val *v2)
 
__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_export int isl_val_sgn (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_zero (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_one (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_negone (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_nonneg (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_nonpos (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_pos (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_neg (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_int (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_rat (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_nan (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_infty (__isl_keep isl_val *v)
 
__isl_export isl_bool isl_val_is_neginfty (__isl_keep isl_val *v)
 
__isl_export int isl_val_cmp_si (__isl_keep isl_val *v, long i)
 
__isl_export isl_bool isl_val_lt (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
 
__isl_export isl_bool isl_val_le (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
 
__isl_export 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_export isl_bool isl_val_ge (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
 
__isl_export 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_export isl_bool isl_val_ne (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
 
__isl_export isl_bool isl_val_abs_eq (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
 
__isl_export isl_bool isl_val_is_divisible_by (__isl_keep isl_val *v1, __isl_keep isl_val *v2)
 
__isl_constructor __isl_give isl_valisl_val_read_from_str (isl_ctx *ctx, const char *str)
 
__isl_give isl_printerisl_printer_print_val (__isl_take isl_printer *p, __isl_keep isl_val *v)
 
void isl_val_dump (__isl_keep isl_val *v)
 
__isl_give char * isl_val_to_str (__isl_keep isl_val *v)
 
isl_bool isl_multi_val_is_zero (__isl_keep isl_multi_val *mv)
 
__isl_overload __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)
 
__isl_constructor __isl_give isl_multi_valisl_multi_val_read_from_str (isl_ctx *ctx, const char *str)
 
__isl_give isl_printerisl_printer_print_multi_val (__isl_take isl_printer *p, __isl_keep isl_multi_val *mv)
 
void isl_multi_val_dump (__isl_keep isl_multi_val *mv)
 
__isl_give char * isl_multi_val_to_str (__isl_keep isl_multi_val *mv)
 

Function Documentation

◆ isl_multi_val_add_val()

__isl_overload __isl_give isl_multi_val * isl_multi_val_add_val ( __isl_take isl_multi_val mv,
__isl_take isl_val v 
)

Definition at line 1601 of file isl_val.c.

References isl_val_add(), isl_val_free(), and isl_val_is_zero().

Referenced by isl::multi_val::add(), and generate_shift_component().

◆ isl_multi_val_dump()

void isl_multi_val_dump ( __isl_keep isl_multi_val mv)

◆ 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_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_val_mod().

Referenced by generate_shift_component().

◆ isl_multi_val_read_from_str()

__isl_constructor __isl_give isl_multi_val * isl_multi_val_read_from_str ( isl_ctx ctx,
const char *  str 
)

◆ isl_multi_val_to_str()

__isl_give char * isl_multi_val_to_str ( __isl_keep isl_multi_val mv)

Referenced by isl::operator<<().

◆ isl_printer_print_multi_val()

__isl_give isl_printer * isl_printer_print_multi_val ( __isl_take isl_printer p,
__isl_keep isl_multi_val mv 
)

◆ isl_printer_print_val()

__isl_give isl_printer * isl_printer_print_val ( __isl_take isl_printer p,
__isl_keep isl_val v 
)

◆ 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_val_pow2().

Referenced by getWidthExpValOnDomain().

◆ isl_val_abs()

◆ isl_val_abs_eq()

__isl_export isl_bool isl_val_abs_eq ( __isl_keep isl_val v1,
__isl_keep isl_val v2 
)

◆ isl_val_add()

__isl_export __isl_give isl_val * isl_val_add ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ isl_val_add_ui()

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

◆ isl_val_ceil()

◆ isl_val_cmp_si()

__isl_export int isl_val_cmp_si ( __isl_keep isl_val v,
long  i 
)

◆ isl_val_copy()

__isl_give isl_val * isl_val_copy ( __isl_keep isl_val v)

◆ isl_val_div()

__isl_export __isl_give isl_val * isl_val_div ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ isl_val_div_ui()

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

◆ isl_val_dump()

void isl_val_dump ( __isl_keep isl_val v)

◆ isl_val_eq()

__isl_export isl_bool isl_val_eq ( __isl_keep isl_val v1,
__isl_keep isl_val v2 
)

◆ 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_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_export __isl_give isl_val * isl_val_floor ( __isl_take isl_val v)

◆ 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_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(), 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(), 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(), 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_export __isl_give isl_val * isl_val_gcd ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ isl_val_gcdext()

__isl_give isl_val * isl_val_gcdext ( __isl_take isl_val v1,
__isl_take isl_val v2,
__isl_give isl_val **  x,
__isl_give isl_val **  y 
)

◆ isl_val_ge()

__isl_export 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_val_le().

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

◆ isl_val_get_abs_num_chunks()

isl_stat isl_val_get_abs_num_chunks ( __isl_keep isl_val v,
size_t  size,
void *  chunks 
)

◆ isl_val_get_ctx()

isl_ctx * isl_val_get_ctx ( __isl_keep isl_val val)

◆ isl_val_get_d()

double isl_val_get_d ( __isl_keep isl_val v)

Definition at line 343 of file isl_val.c.

References isl_die, isl_error_invalid, isl_int_get_d, isl_val_get_ctx(), and isl_val_is_rat().

◆ isl_val_get_den_si()

__isl_export long isl_val_get_den_si ( __isl_keep isl_val v)

◆ isl_val_get_den_val()

__isl_give isl_val * isl_val_get_den_val ( __isl_keep isl_val v)

◆ 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_hash_init, isl_int_hash, and val.

◆ isl_val_get_num_si()

__isl_export long isl_val_get_num_si ( __isl_keep isl_val v)

◆ isl_val_gt()

__isl_export 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_val_lt().

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

◆ isl_val_gt_si()

isl_bool isl_val_gt_si ( __isl_keep isl_val v,
long  i 
)

◆ isl_val_infty()

__isl_export __isl_give isl_val * isl_val_infty ( isl_ctx ctx)

◆ isl_val_int_from_chunks()

__isl_give isl_val * isl_val_int_from_chunks ( isl_ctx ctx,
size_t  n,
size_t  size,
const void *  chunks 
)

◆ isl_val_int_from_si()

__isl_constructor __isl_give isl_val * isl_val_int_from_si ( isl_ctx ctx,
long  i 
)

◆ 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_is_divisible_by()

__isl_export isl_bool isl_val_is_divisible_by ( __isl_keep isl_val v1,
__isl_keep isl_val v2 
)

◆ isl_val_is_infty()

__isl_export isl_bool isl_val_is_infty ( __isl_keep isl_val v)

◆ isl_val_is_int()

__isl_export isl_bool isl_val_is_int ( __isl_keep isl_val v)

◆ isl_val_is_nan()

__isl_export isl_bool isl_val_is_nan ( __isl_keep isl_val v)

◆ isl_val_is_neg()

__isl_export isl_bool isl_val_is_neg ( __isl_keep isl_val v)

◆ isl_val_is_neginfty()

__isl_export isl_bool isl_val_is_neginfty ( __isl_keep isl_val v)

◆ isl_val_is_negone()

__isl_export isl_bool isl_val_is_negone ( __isl_keep isl_val v)

Definition at line 1214 of file isl_val.c.

References isl_bool_error, isl_bool_ok(), isl_int_abs_eq, and isl_int_is_neg.

Referenced by extract_modulos(), isl::val::is_negone(), and scale().

◆ isl_val_is_nonneg()

__isl_export isl_bool isl_val_is_nonneg ( __isl_keep isl_val v)

◆ isl_val_is_nonpos()

__isl_export isl_bool isl_val_is_nonpos ( __isl_keep isl_val v)

Definition at line 1257 of file isl_val.c.

References isl_bool_error, isl_bool_false, isl_bool_ok(), isl_int_is_nonpos, and isl_val_is_nan().

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

◆ isl_val_is_one()

__isl_export isl_bool isl_val_is_one ( __isl_keep isl_val v)

◆ isl_val_is_pos()

__isl_export isl_bool isl_val_is_pos ( __isl_keep isl_val v)

◆ isl_val_is_rat()

__isl_export isl_bool isl_val_is_rat ( __isl_keep isl_val v)

◆ isl_val_is_zero()

__isl_export isl_bool isl_val_is_zero ( __isl_keep isl_val v)

◆ isl_val_le()

__isl_export isl_bool isl_val_le ( __isl_keep isl_val v1,
__isl_keep isl_val v2 
)

◆ isl_val_lt()

__isl_export isl_bool isl_val_lt ( __isl_keep isl_val v1,
__isl_keep isl_val v2 
)

◆ isl_val_max()

__isl_export __isl_give isl_val * isl_val_max ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ isl_val_min()

__isl_export __isl_give isl_val * isl_val_min ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ isl_val_mod()

__isl_export __isl_give isl_val * isl_val_mod ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ isl_val_mul()

__isl_export __isl_give isl_val * isl_val_mul ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ isl_val_mul_ui()

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

◆ isl_val_n_abs_num_chunks()

isl_size isl_val_n_abs_num_chunks ( __isl_keep isl_val v,
size_t  size 
)

◆ isl_val_nan()

__isl_export __isl_give isl_val * isl_val_nan ( isl_ctx ctx)

◆ isl_val_ne()

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

Definition at line 1458 of file isl_val.c.

References isl_bool_error, isl_bool_false, isl_bool_ok(), isl_int_ne, and isl_val_is_nan().

Referenced by generate_component(), and isl::val::ne().

◆ isl_val_neg()

◆ isl_val_neginfty()

__isl_export __isl_give isl_val * isl_val_neginfty ( isl_ctx ctx)

◆ isl_val_negone()

__isl_export __isl_give isl_val * isl_val_negone ( isl_ctx ctx)

Definition at line 55 of file isl_val.c.

References isl_val_int_from_si().

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

◆ isl_val_one()

__isl_export __isl_give isl_val * isl_val_one ( isl_ctx ctx)

Definition at line 48 of file isl_val.c.

References isl_val_int_from_si().

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

◆ isl_val_pow2()

◆ isl_val_read_from_str()

__isl_constructor __isl_give isl_val * isl_val_read_from_str ( isl_ctx ctx,
const char *  str 
)

◆ 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_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_sgn()

__isl_export int isl_val_sgn ( __isl_keep isl_val v)

◆ isl_val_sub()

__isl_export __isl_give isl_val * isl_val_sub ( __isl_take isl_val v1,
__isl_take isl_val v2 
)

◆ 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_int_submul_ui, isl_val_cow(), and isl_val_is_rat().

Referenced by aff_pos_basic_set(), and try_extract_mod().

◆ isl_val_to_str()

__isl_give char * isl_val_to_str ( __isl_keep isl_val v)

Referenced by isl::operator<<().

◆ isl_val_trunc()

__isl_export __isl_give isl_val * isl_val_trunc ( __isl_take isl_val v)

Definition at line 512 of file isl_val.c.

References isl_int_set_si, isl_int_tdiv_q, isl_val_cow(), isl_val_is_int(), and isl_val_is_rat().

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

◆ isl_val_zero()

__isl_export __isl_give isl_val * isl_val_zero ( isl_ctx ctx)