57 if(c1==NULL && c2==NULL)
59 else if(c1==NULL || c2==NULL)
76 if(c1==NULL && c2==NULL)
78 else if(c1==NULL || c2==NULL)
134 if (undef1 || undef2)
135 return(undef1 && undef2);
147 bool parallel_p =
false;
152 if (undef1 || undef2)
153 parallel_p = (undef1 && undef2);
246 v =
val_of(ineg->vecteur);
248 return (!eq_p &&
value_negz_p(v) && ineg->vecteur->succ==NULL)
249 || ( eq_p &&
value_zero_p(v) && ineg->vecteur->succ==NULL);
261 return(
vect_oppos(ineg1->vecteur,ineg2->vecteur));
357 bool is_met_p =
true;
#define value_negz_p(val)
#define value_direct_multiply(v1, v2)
#define value_zero_p(val)
#define value_addto(ref, val)
#define CONTRAINTE_UNDEFINED_P(c)
#define CONTRAINTE_NULLE_P(c)
contrainte nulle (non contrainte 0 == 0 ou 0 <= 0)
#define contrainte_vecteur(c)
passage au champ vecteur d'une contrainte "a la Newgen"
bool vect_opposite_except(Pvecteur v1, Pvecteur v2, Variable var)
bool vect_opposite_except(Pvecteur v1, Pvecteur v2, Variable var): test a egalite des projections sel...
bool vect_equal(Pvecteur v1, Pvecteur v2)
bool vect_equal(Pvecteur v1, Pvecteur v2): test a egalite de deux vecteurs
bool vect_oppos(Pvecteur v1, Pvecteur v2)
bool vect_oppos(Pvecteur v1, Pvecteur v2): test de l'opposition de deux vecteurs
bool vect_equal_except(Pvecteur v1, Pvecteur v2, Variable var)
bool vect_equal_except(Pvecteur v1, Pvecteur v2, Variable var): test a egalite des projections selon ...
int vect_size(Pvecteur v)
package vecteur - reductions
bool eq_smg(Pcontrainte c1, Pcontrainte c2)
package contrainte - tests sur des contraintes
bool contrainte_parallele(Pcontrainte c1, Pcontrainte c2, Value *pa1, Value *pa2)
Les deux contraintes c1 et c2 sont paralleles s'il existe deux coefficients a1 et a2 tels que a1 c1 +...
bool equality_eval_p(Pvecteur c, Pvecteur v)
bool contrainte_constante_p(Pcontrainte c)
bool contrainte_constante_p(Pcontrainte c): test de contrainte triviale sans variables (ie du type 0<...
bool contrainte_eval_p(Pvecteur c, Pvecteur v, bool is_equality_p)
Evaluate constraint c according to values in v and return true if the constraint is met.
bool constraint_without_vars(Pcontrainte c, Pbase vars)
bool constraint_without_vars(c, vars) Pcontrainte c; Pbase vars;
Value contrainte_eval(Pvecteur c, Pvecteur v)
Evaluate constraint c according to values in v and return the constant obtained.
bool vect_constant_p(Pvecteur v)
bool vect_constant_p(Pvecteur v): v contains only a constant term, may be zero
bool contrainte_verifiee(Pcontrainte ineg, bool eq_p)
bool contrainte_verifiee(Pcontrainte ineg, bool eq_p): test de faisabilite d'inegalite (eq_p == false...
bool contrainte_oppos(Pcontrainte ineg1, Pcontrainte ineg2)
bool contrainte_oppos(Pcontrainte ineg1, Pcontrainte ineg2): indique si 2 inegalites forment une egal...
bool inequalities_opposite_p(Pcontrainte c1, Pcontrainte c2)
bool inequalities_opposite_p(Pcontrainte c1, Pcontrainte c2): True if the non-constant part of c1 is ...
bool contrainte_equal(Pcontrainte c1, Pcontrainte c2)
bool contrainte_equal(Pcontrainte c1, Pcontrainte c2): test d'egalite des contraintes c1 et c2; elles...
bool inequality_eval_p(Pvecteur c, Pvecteur v)
bool egalite_equal(Pcontrainte eg1, Pcontrainte eg2)
bool egalite_equal(Pcontrainte eg1, Pcontrainte eg2): teste l'equivalence de deux egalites; leurs coe...
bool constraints_without_vars(Pcontrainte pc, Pbase vars)
bool constraints_without_vars(pc, vars) Pcontrainte pc; Pbase vars;
Pvecteur vect_multiply(Pvecteur v, Value x)
Pvecteur vect_multiply(Pvecteur v, Value x): multiplication du vecteur v par le scalaire x,...
struct Scontrainte * succ
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
#define TCST
VARIABLE REPRESENTANT LE TERME CONSTANT.
#define VECTEUR_NUL
DEFINITION DU VECTEUR NUL.
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
#define BASE_NULLE
MACROS SUR LES BASES.
Pbase vect_copy(Pvecteur b)
direct duplication.
void vect_rm(Pvecteur v)
void vect_rm(Pvecteur v): desallocation des couples de v;
Pvecteur vect_add(Pvecteur v1, Pvecteur v2)
package vecteur - operations binaires
Value vect_coeff(Variable var, Pvecteur vect)
Variable vect_coeff(Variable var, Pvecteur vect): coefficient de coordonnee var du vecteur vect —> So...