52 #define MALLOC(s,t,f) malloc(s)
87 printf(
" ** transformation des equations en inequations \n");
110 som2->
eq_sat =(
int *)
MALLOC(
sizeof(
int),INTEGER,
"eq_in_ineq");
119 ps1 = som_sys_conv(sys2);
122 printf (
" -- variables de base :");
123 for (pvec = *lvbase;pvec!= NULL;pvec=pvec->
succ)
125 printf(
" (0x%x,", (
unsigned int) pvec->
var);
171 printf(
" ** ajout des variables d'ecart \n");
174 ps1 = som_sys_conv(sys);
179 for (ineg = sys2;ineg!= NULL;ineg=ineg->
succ) {
180 if (*(ineg->
eq_sat) == -1) {
192 printf (
" -- variables de base :");
193 for (pvec = *lvbase;pvec!= NULL;pvec=pvec->
succ)
195 printf(
" (0x%x,",(
unsigned int)pvec->
var);
200 ps1 = som_sys_conv(sys2);
227 printf(
" ** ajout des variables suupplementaire \n");
230 ps1 = som_sys_conv(sys);
235 for (ineg = sys2;ineg!= NULL;ineg=ineg->
succ) {
236 if (*(ineg->
eq_sat) == -1) {
258 printf (
" -- variables de base :");
259 for (pvec = *lvbase;pvec!= NULL;pvec=pvec->
succ)
261 printf(
" (0x%x,",(
unsigned int)pvec->
var);
266 ps1 = som_sys_conv(sys2);
#define int_to_value(i)
end LINEAR_VALUE_IS_INT
#define value_product(v, w)
void print_Value(Value)
io.c
Pbase vect_add_variable(Pbase b, Variable v)
package vecteur - routines sur les bases
char * variable_default_name(Variable v)
char * variable_default_name(Variable v): returns the name of variable v
#define MALLOC(s, t, f)
pour recuperer les declarations des fonctions de conversion de sc en liste de sommets et reciproqueme...
Psommet add_var_sup(Psommet sys, int nb_som, Pvecteur *lvbase, Pvecteur *lvsup, int *nbvars, Pbase *b, Psommet fonct)
Psommet eq_in_ineq(Psommet *sys, int *nb_som, Pvecteur *lvbase)
Psommet eq_in_ineq(Psommet * sys, int * nb_som, Pvecteur * lvbase): Transformation des egalites du sy...
Psommet var_ecart_sup(Psommet sys, int nb_som, Pvecteur *lvbase, int *nbvars, Pbase *b)
Psommet var_ecart_sup(Psommet sys, int nb_som, Pvecteur * lvbase, int * nbvars, Pbase *b): ajout des ...
void lvbase_add(Variable var, int no_ligne, Pvecteur *lvbase)
void lvbase_add(Variable var, int no_ligne, Pvecteur * lvbase): ajout d'un couple (variable de base,...
void sc_rm(Psysteme ps)
void sc_rm(Psysteme ps): liberation de l'espace memoire occupe par le systeme de contraintes ps;
Pcontrainte eq
element du vecteur colonne du systeme donne par l'analyse
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...
Variable creat_new_var(Psysteme ps)
char * noms_var(int i): cette fonction convertit un numero de variable en chaine de caracteres
void vect_chg_sgn(Pvecteur v)
void vect_chg_sgn(Pvecteur v): multiplie v par -1
Pvecteur vect_multiply(Pvecteur v, Value x)
Pvecteur vect_multiply(Pvecteur v, Value x): multiplication du vecteur v par le scalaire x,...
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 sommet_add(Psommet *ps, Psommet som, int *nb_som)
void sommet_add(Psommet *ps, Psommet som, int *nb_soms): Ajout d'un sommet a une liste de sommets Le ...
void sommets_normalize(Psommet)
void sommets_normalize(som) Normalisation des elements d'une liste de sommets i.e.
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;.
Pbase base_dup(Pbase b)
Pbase base_dup(Pbase b) Note: this function changes the value of the pointer.
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
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...