Psysteme find_eg(Psysteme sys): Recherche des egalites du systeme en nombres entiers sys parmi ses inegalites.
Le systeme initial est modifie.
Les parametres de la fonction :
!Psysteme ps : systeme lineaire
Definition at line 64 of file find-eg.c.
83 sys = sc_elim_redond(sys);
86 ps = sys_som_conv(sys,&nbsom);
88 for (som = ps;((nbsom != 0) && (som!= NULL));som=som->
succ)
91 if (*(som->
eq_sat) == -1) {
114 if ((sys2 = som_sys_conv(ps)) != (
Psysteme) NULL) {
123 sys3 =
plint(sys2,fonct,&sol1);
130 if (sys3 != NULL && fonct != NULL) {
150 if ((sys2 = som_sys_conv(ps)) != (
Psysteme) NULL) {
#define value_uminus(val)
unary operators on values
#define value_eq(v1, v2)
bool operators on values
#define value_division(ref, val)
Psysteme plint(Psysteme first_sys, Psommet fonct, Psolution *sol_fin)
Psysteme plint(Psysteme first_sys, Psommet fonct, Psolution *sol_fin): resolution d'un systeme lineai...
void sc_rm(Psysteme ps)
void sc_rm(Psysteme ps): liberation de l'espace memoire occupe par le systeme de contraintes ps;
void sommets_rm(Psommet)
void sommets_rm(Psommet ps): liberation de l'espace memoire alloue a une liste de sommets
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.
#define VECTEUR_NUL
DEFINITION DU VECTEUR NUL.
Pvecteur vect_dup(Pvecteur v_in)
Pvecteur vect_dup(Pvecteur v_in): duplication du vecteur v_in; allocation de et copie dans v_out;.
void vect_rm(Pvecteur v)
void vect_rm(Pvecteur v): desallocation des couples de v;
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...
References Ssysteme::base, typ_som::denominateur, Ssysteme::dimension, typ_som::eq_sat, fonct_init(), plint(), sc_rm(), sommets_rm(), typ_som::succ, TCST, value_division, value_eq, VALUE_ONE, value_uminus, VALUE_ZERO, vect_chg_coeff(), vect_coeff(), vect_dup(), vect_rm(), typ_som::vecteur, VECTEUR_NUL, and x.