6 #ifndef sg_header_included
7 #define sg_header_included
81 #define SG_UNDEFINED ((Ptsg) NULL)
82 #define SG_UNDEFINED_P(sg) ((sg)==(SG_UNDEFINED))
93 #define sg_sommets(sg) ((sg)->soms_sg.ssg)
97 #define sg_rayons(sg) ((sg)->rays_sg.vsg)
101 #define sg_droites(sg) ((sg)->dtes_sg.vsg)
104 #define sg_nbre_sommets(sg) ((sg)->soms_sg.nb_s)
107 #define sg_nbre_rayons(sg) ((sg)->rays_sg.nb_v)
110 #define sg_nbre_droites(sg) ((sg)->dtes_sg.nb_v)
113 #define sg_base(sg) ((sg)->base)
116 #define sg_empty(sg) \
117 ((sg)->soms_sg.nb_s==0 &&(sg)-> rays_sg.nb_v == 0 && (sg)->dtes_sg.nb_v == 0)
void sg_print(Ptsg, char *(*)(Variable))
Ptsg mk_rn(Pbase)
Ptsg mk_rn(Pbase b): construction du systeme generateur du polyedre qui represente l'espace entier; l...
void sg_dump(Ptsg)
For debugging.
Ptsg sg_new(void)
Obsolete macros of Malik Imadache #define soms_of_sg(sg) (((sg).soms_sg).ssg) #define rays_of_sg(sg) ...
struct ttsg_vects Stsg_vects
Ptsg ajout_dte(Ptsg, Variable)
Ptsg ajout_dte(Ptsg sg, Variable v): ajoute une droite dans la direction correspondant a la variable ...
Ptsg sg_without_line(Ptsg)
Ptsg sg_without_line(Ptsg sg_in): allocation d'un systeme generateur et copie d'un systeme generateur...
void sg_rm_droites(Ptsg)
void sg_rm_droites(Ptsg sg): desallocation d'une liste de droites d'un systeme generateur
struct type_sg * Ptsg
Representation d'un systeme generateur par trois ensembles de sommets de rayons et de droites.
bool dte_in_sg_p(Pray_dte, Ptsg)
struct ttsg_soms * Ptsg_soms
Representation d'un ensemble de sommets.
Ptsg sg_dup(Ptsg)
Ptsg sg_dup(Ptsg sg_in): allocation d'un systeme generateur sg_out et copie sans sharing des ensemble...
void sg_rm_rayons(Ptsg)
void sg_rm_rayons(Ptsg sg): desallocation d'une liste de rayons d'un systeme generateur
void sg_fprint_as_ddv(FILE *, Ptsg)
struct ttsg_soms Stsg_soms
bool ray_in_sg_p(Pray_dte, Ptsg)
Ptsg sg_add_ray(Ptsg, Pray_dte)
Ptsg sg_add_ray(Ptsg sg, Pray_dte ray): ajout d'un rayon a un syteme generateur; aucune allocation n'...
void sg_fprint(FILE *, Ptsg, char *(*)(Variable))
void sg_rm(Ptsg)
void sg_rm(Ptsg sg): liberation de l'espace memoire occupe par un systeme generateur
struct ttsg_vects * Ptsg_vects
Representation d'un ensemble de droites.
bool sg_egal(Ptsg, Ptsg)
bool sg_egal(Ptsg sg1, Ptsg sg2): test de l'egalite de deux systemes generateur sg1 et sg2
void sg_rm_sommets(Ptsg)
void sg_rm_sommets(Ptsg sg): desallocation d'une liste de sommets d'un systeme generateur
bool sommet_in_sg_p(Psommet, Ptsg)
void sg_fprint_as_dense(FILE *, Ptsg, Pbase)
void sg_fprint_as_dense(FILE * f, Ptsg sg): impression d'un systeme generateur
Ptsg sg_union(Ptsg, Ptsg)
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
Representation d'un ensemble de sommets.
Representation d'un ensemble de droites.
structure de donnees Sommet
Representation d'un systeme generateur par trois ensembles de sommets de rayons et de droites.
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....