25 #include "pips_config.h"
39 #include "constants.h"
70 expression ex1,ex2,ex4,ex5,ex6,expr,expr1,expr2;
79 debug(8,
"complex_bound_generation",
"begin\n");
104 debug(8,
"complex_bound_generation",
"end\n");
126 Value right_coeff,left_coeff;
127 int right_rank,left_rank;
136 debug(8,
"complex_bound_computation",
"begin\n");
139 &right_var,&right_rank,&right_coeff,
140 &left_var,&left_rank,&left_coeff);
164 if (left_rank > right_rank) {
181 right_exp,el_var,left_exp,el_var);
201 left_exp,el_var,right_exp,el_var);
204 debug(8,
"complex_bound_computation",
"end\n");
float a2sf[2] __attribute__((aligned(16)))
USER generates a user error (i.e., non fatal) by printing the given MSG according to the FMT.
#define value_sign(v)
trian operators on values
#define int_to_value(i)
end LINEAR_VALUE_IS_INT
#define VALUE_TO_INT(val)
#define value_uminus(val)
unary operators on values
#define value_notone_p(val)
#define value_plus(v1, v2)
binary operators on values
#define value_mult(v, w)
whether the default is protected or not this define makes no sense any more...
expression complex_bound_computation(Psysteme __attribute__((unused)) sc, Pbase index_base, Pcontrainte ineq1, Pcontrainte ineq2, int rank)
Compute the complex bounds associated to the variable of higher rank, after the variable "el_var" of ...
expression complex_bound_generation(Value coeff1, Value coeff2, Value coeff3, Pvecteur exp1, Variable __attribute__((unused)) var1, Pvecteur exp2, Variable __attribute__((unused)) var2)
Print the complex expression [coeff1 * (exp1 / coeff2) + exp2 ] / coeff3.
string make_entity_fullname(const char *module_name, const char *local_name)
END_EOLE.
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
void debug(const int the_expected_debug_level, const char *calling_function_name, const char *a_message_format,...)
ARARGS0.
expression make_div_expression(expression, cons *)
operation.c
expression make_op_expression(entity, cons *)
#define TOP_LEVEL_MODULE_NAME
Module containing the global variables in Fortran and C.
void * gen_find_tabulated(const char *, int)
#define PLUS_OPERATOR_NAME
expression make_vecteur_expression(Pvecteur pv)
make expression for vector (Pvecteur)
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
#define EXPRESSION(x)
EXPRESSION.
#define expression_undefined
#define entity_domain
newgen_syntax_domain_defined
Variable variable_of_rank()
void constraint_integer_combination(Pbase index_base, Pcontrainte ineq1, Pcontrainte ineq2, int rank, Variable *right_var, int *right_rank, Value *right_coeff, Variable *left_var, int *left_rank, Value *left_coeff)
This function computes the coefficients of the constraint resulting from the elimination of the varia...
void vect_chg_sgn(Pvecteur v)
void vect_chg_sgn(Pvecteur v): multiplie v par -1
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
#define TCST
VARIABLE REPRESENTANT LE TERME CONSTANT.
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
Pvecteur vect_dup(Pvecteur v_in)
Pvecteur vect_dup(Pvecteur v_in): duplication du vecteur v_in; allocation de et copie dans v_out;.
void vect_add_elem(Pvecteur *pvect, Variable var, Value val)
void vect_add_elem(Pvecteur * pvect, Variable var, Value val): addition d'un vecteur colineaire au ve...
Value vect_coeff(Variable var, Pvecteur vect)
Variable vect_coeff(Variable var, Pvecteur vect): coefficient de coordonnee var du vecteur vect —> So...
void vect_chg_coeff(Pvecteur *ppv, Variable var, Value val)
void vect_chg_coeff(Pvecteur *ppv, Variable var, Value val): mise de la coordonnee var du vecteur *pp...