25 #include "pips_config.h"
38 #include "constants.h"
70 debug(8,
"bound_distribution",
"begin\n");
79 for (ineq = pps[
rank]->inegalites;
84 if (sc_info[
rank][1]) {
88 if (higher_rank<=
rank) {
102 int left_rank,right_rank;
103 Value left_coeff,right_coeff;
107 (index_base,ineq,ineq->
succ,higher_rank,
108 &right_var, &right_rank, &right_coeff,
109 &left_var, &left_rank, &left_coeff);
113 if (((right_rank>left_rank) && (right_coeff >0))
114 || ((right_rank < left_rank) && (left_coeff>0)))
131 (void)
fprintf(stderr,
"systeme negatif \n");
133 (void)
fprintf(stderr,
"systeme positif \n");
137 debug(8,
"bound_distribution",
"end\n");
171 int rank,rank_hr,rank_pc1,rank_pc2;
178 debug(8,
"constraint_distribution",
"begin\n");
183 if (sc_info[rank_hr][1]) {
218 if (rank_pc1 !=rank_pc2)
219 rank=(rank_pc1 >rank_pc2) ? rank_pc1:rank_pc2;
232 (void)
fprintf(stderr,
"Le systeme sur la var. %d est:\n",i);
237 debug(8,
"constraint_distribution",
"end\n");
250 debug(8,
"egalite_distribution",
"begin\n");
254 sc_add_eg(bound_systems[
rank],pc1);
257 debug(8,
"egalite_distribution",
"end\n");
#define value_sign(v)
trian operators on values
#define value_notzero_p(val)
int rank_of_variable(Pbase base, Variable var)
this function returns the rank of the variable var in the base 0 encodes TCST, but I do not know why,...
int search_higher_rank(Pvecteur vect, Pbase base)
int search_higher_rank(): this fonction returns the rank of the variable of higher rank in the vecteu...
void constraint_distribution(Psysteme sc, Psysteme *bound_systems, Pbase index_base, int sc_info[][4])
Distribution of the constraints of the system sc into several systems.
void bound_distribution(Psysteme *pps, Pbase index_base, sc_info, int nb_loop, Psysteme *sc_neg, Psysteme *sc_pos, Psysteme sc_test)
Distribution of the constraints of the system ps in three systems.
void egalite_distribution(Psysteme sc, Psysteme *bound_systems, Pbase index_base)
#define CONTRAINTE_UNDEFINED_P(c)
int vect_size(Pvecteur v)
package vecteur - reductions
void debug(const int the_expected_debug_level, const char *calling_function_name, const char *a_message_format,...)
ARARGS0.
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
Psysteme sc_init_with_sc(Psysteme sc)
This function returns a new empty system which has been initialized with the same dimension and base ...
bool bound_redund_with_sc_p(Psysteme sc, Pcontrainte ineq1, Pcontrainte ineq2, Variable var)
This function returns true if the constraint C (resulting of the combination of the two constraints i...
void insert_ineq_end_sc(Psysteme sc, Pcontrainte ineq)
This function inserts one constraint ineq at the end of the system of inequalities of sc.
void insert_ineq_begin_sc(Psysteme sc, Pcontrainte ineq)
This function inserts the constraint ineq at the beginning of the system of inequalities of sc.
void insert_2ineq_end_sc(Psysteme sc, Pcontrainte ineq)
This function inserts two constraints ineq and ineq->succ at the end of the system of inequalities of...
Variable search_var_of_higher_rank()
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 sc_fprint(FILE *fp, Psysteme ps, get_variable_name_t nom_var)
void sc_fprint(FILE * f, Psysteme ps, char * (*nom_var)()): cette fonction imprime dans le fichier po...
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
struct Scontrainte * succ
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
char *(* get_variable_name_t)(Variable)
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
Value vect_coeff(Variable var, Pvecteur vect)
Variable vect_coeff(Variable var, Pvecteur vect): coefficient de coordonnee var du vecteur vect —> So...