202 posit->vecteur, ofl_ctrl);
272 if (c1==NULL)
return(c2);
273 if (c2==NULL)
return(c1);
274 for (c=c1; c->
succ!=NULL; c=c->
succ);
293 c1p = (c1==nc1)? c1p: c1,
301 c2p = (c2==nc2)? c2p: c2,
310 c1->
succ = c, c = c1;
313 if (c1p) c1p->succ = sc1;
else *pc1 = sc1;
314 if (c2p) c2p->
succ = sc2;
else *pc2 = sc2;
#define value_minus(v1, v2)
#define pgcd(a, b)
Pour la recherche de performance, selection d'une implementation particuliere des fonctions.
#define value_notzero_p(val)
#define value_uminus(val)
unary operators on values
#define value_notone_p(val)
#define value_zero_p(val)
#define value_plus(v1, v2)
binary operators on values
#define value_div(v1, v2)
#define contrainte_vecteur(c)
passage au champ vecteur d'une contrainte "a la Newgen"
#define CONTRAINTE_UNDEFINED
Pcontrainte contrainte_free(Pcontrainte c)
Pcontrainte contrainte_free(Pcontrainte c): liberation de l'espace memoire alloue a la contrainte c a...
Pcontrainte contrainte_new(void)
package contrainte - allocations et desallocations
int contrainte_subst(Variable v, Pcontrainte def, Pcontrainte c, bool eq_p)
Pcontrainte inegalite_comb_ofl(Pcontrainte posit, Pcontrainte negat, Variable v)
Value eq_diff_const(Pcontrainte c1, Pcontrainte c2)
Value eq_diff_const(Pcontrainte c1, Pcontrainte c2): calcul de la difference des deux termes constant...
int contrainte_subst_ofl_ctrl(Variable v, Pcontrainte def, Pcontrainte c, bool eq_p, int ofl_ctrl)
int contrainte_subst_ofl_ctrl(Variable v, Pcontrainte def, Pcontrainte c Boolean eq_p,...
Pcontrainte inegalite_comb_ofl_ctrl(Pcontrainte posit, Pcontrainte negat, Variable v, int ofl_ctrl)
Pcontrainte inegalite_comb_ofl_ctrl(Pcontrainte posit, Pcontrainte negat, Variable v,...
Value eq_sum_const(Pcontrainte c1, Pcontrainte c2)
Value eq_sum_const(Pcontrainte c1, Pcontrainte c2): calcul de la somme des deux termes constants des ...
Pcontrainte contrainte_substitute_dimension(Pcontrainte e, Variable i, Pvecteur v)
int contrainte_subst_ofl(Variable v, Pcontrainte def, Pcontrainte c, bool eq_p)
package contrainte - operations binaires
Pcontrainte extract_common_constraints(Pcontrainte *pc1, Pcontrainte *pc2, bool eq)
common (simply equal) contraints are extracted, whether equalities or inequalities.
Pcontrainte contrainte_append(Pcontrainte c1, Pcontrainte c2)
Pcontrainte contrainte_append(c1, c2) Pcontrainte c1, c2;.
Pcontrainte inegalite_comb(Pcontrainte posit, Pcontrainte negat, Variable v)
bool contrainte_equal(Pcontrainte, Pcontrainte)
bool contrainte_equal(Pcontrainte c1, Pcontrainte c2): test d'egalite des contraintes c1 et c2; elles...
bool egalite_equal(Pcontrainte, Pcontrainte)
bool egalite_equal(Pcontrainte eg1, Pcontrainte eg2): teste l'equivalence de deux egalites; leurs coe...
bool contrainte_constante_p(Pcontrainte)
bool contrainte_constante_p(Pcontrainte c): test de contrainte triviale sans variables (ie du type 0<...
bool contrainte_verifiee(Pcontrainte, bool)
bool contrainte_verifiee(Pcontrainte ineg, bool eq_p): test de faisabilite d'inegalite (eq_p == false...
Value b1
booleen indiquant quel membre est en cours d'analyse
Pcontrainte eq
element du vecteur colonne du systeme donne par l'analyse
struct Scontrainte * succ
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
#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....
void vect_rm(Pvecteur v)
void vect_rm(Pvecteur v): desallocation des couples de v;
Pvecteur vect_cl2_ofl_ctrl(Value x1, Pvecteur v1, Value x2, Pvecteur v2, int ofl_ctrl)
Pvecteur vect_cl2_ofl(Value x1, Pvecteur v1, Value x2, Pvecteur v2): allocation d'un vecteur v dont l...
Pvecteur vect_substitute_dimension(Pvecteur v, Variable i, Pvecteur s)
Pvecteur vect_substitute_dimension(Pvecteur v, Variable i, Pvecteur s)
Value vect_coeff(Variable var, Pvecteur vect)
Variable vect_coeff(Variable var, Pvecteur vect): coefficient de coordonnee var du vecteur vect —> So...