45 #define MALLOC(s,t,f) malloc((unsigned)(s))
75 printf(
" ** Gomory - ajout d'une eq. verifiant les cond. de Gomory \n");
78 if (
eq != NULL && var != NULL)
91 ps1->
eq_sat = (
int *)
MALLOC(
sizeof(
int),INTEGER,
"gomory_trait_eq");
101 for (pv2=pv1;pv2 != NULL; pv2= pv2->
succ) {
124 for (pv2 = pv1;pv2!= NULL; pv2=pv2->
succ)
162 int nb_som1 = nb_som;
169 printf(
" ** Gomory - recherche d'une variable non_entiere \n");
203 printf (
" -- le systeme est non borne !!! \n ");
#define value_sign(v)
trian operators on values
#define value_absolute(ref)
#define pgcd(a, b)
Pour la recherche de performance, selection d'une implementation particuliere des fonctions.
#define value_oppose(ref)
#define value_modulus(ref, val)
#define value_notzero_p(val)
#define value_uminus(val)
unary operators on values
#define value_zero_p(val)
#define value_addto(ref, val)
#define value_product(v, w)
#define value_mod(v1, v2)
#define value_div(v1, v2)
Value vect_pgcd_all(Pvecteur v)
Value vect_pgcd(Pvecteur v): calcul du pgcd de tous les coefficients non nul d'un vecteur v.
#define MALLOC(s, t, f)
package plint
Psommet gomory_trait_eq(Psommet eq, Variable var)
Psommet gomory_trait_eq(Psommet eq, Variable var): Cette fonction utilise une contrainte du systeme e...
Psommet gomory_eq(Psommet *sys, Pvecteur lvbase, int nb_som, int *no_som, Variable *var)
Psommet gomory_eq(Psommet *sys, Pvecteur lvbase, int nb_som, int * no_som, Variable * var): Recherche...
bool test_borne(Psommet eq)
Variable find_vbase(Psommet eq, Pvecteur lvbase)
Variable find_vbase(Psommet eq, Pvecteur lvbase): Recherche de la variable de base d'une contrainte.
Pcontrainte eq
element du vecteur colonne du systeme donne par l'analyse
Pvecteur vect_clean(Pvecteur v)
Pvecteur vect_clean(Pvecteur v): elimination de tous les couples dont le coefficient vaut 0 dans le v...
void vect_chg_sgn(Pvecteur v)
void vect_chg_sgn(Pvecteur v): multiplie v par -1
struct typ_som * Psommet
structure de donnees Sommet
#define SOMMET
package sommet: structure de donnees representant les sommets d'un systeme generateur; elle contient:
void sommets_rm(Psommet)
void sommets_rm(Psommet ps): liberation de l'espace memoire alloue a une liste de sommets
struct Scontrainte * succ
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
structure de donnees Sommet
#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;.
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...