56 #define MALLOC(s,t,f) malloc(s)
57 #define FREE(s,t,f) free(s)
71 if(rd_in->eq_sat!=NULL) {
73 "ray_dte_dup: perte d'un tableau de saturation\n");
149 (void)
fprintf(stderr,
"destruction de R/D dans %s\n",
f);
168 (void)
fprintf(
f,
"( vecteur nul )\n");
202 for (e = listrd; e != NULL; e = e->
succ) {
216 for (e = listrd; e != NULL; e = e->
succ) {
248 if (rd->
vecteur == NULL)
return(1);
249 for (rd1=lrd;rd1!=NULL;rd1=rd1->
succ) {
266 if (l1==(*ad_l2))
return(
true);
270 for(eq1=l1;eq1!=NULL;eq1=eq1->
succ) {
272 for(eq21=eq2,eq23=eq2;eq21!=NULL;) {
278 ad_aux = &(eq21->
succ);
285 ad_aux = &(eq21->
succ);
327 if(l->vecteur==NULL) {
354 for (rd=listrd; rd!=NULL;) {
void vect_fprint_as_dense(FILE *f, Pvecteur v, Pbase b)
void vect_fprint_as_dense(FILE * f, Pvecteur v, Pbase b):
void vect_fprint(FILE *f, Pvecteur v, get_variable_name_t variable_name)
void vect_fprint(FILE * f, Pvecteur v, char * (*variable_name)()): impression d'un vecteur creux v su...
bool vect_equal(Pvecteur v1, Pvecteur v2)
bool vect_equal(Pvecteur v1, Pvecteur v2): test a egalite de deux vecteurs
char *(* variable_debug_name)(Variable)
Debug support: pointer to the function used by debug print outs.
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
#define RAY_DTE_RM(rd, f)
#define RAY_DTE
package ray_dte: structure de donnees representant les rayons et les droites d'un systeme generateur;...
#define MALLOC(s, t, f)
package pour la structure de donnees ray_dte, qui represente un rayon ou une droite de systeme genera...
void fprint_lray_dte_as_dense(FILE *f, Pray_dte listrd, Pbase b)
void fprint_lray_dte_as_dense(FILE * f, Pray_dte listrd): impression d'une liste de rayons ou de droi...
Pray_dte ray_dte_make(Pvecteur v)
Pray_dte ray_dte_make(Pvecteur v): allocation et initialisation d'une structure ray_dte;.
void ray_dte_normalize(Pray_dte rd)
void ray_dte_normalize(Pray_dte rd): normalisation des coordonnees d'un rayon ou d'une droite rd (div...
void fprint_lray_dte(FILE *f, Pray_dte listrd, char *(*nom_var)(Variable))
void fprint_lray_dte(FILE * f, Pray_dte listrd, char * (*nom_var)()): impression d'une liste de rayon...
void ray_dte_fprint_as_dense(FILE *f, Pray_dte rd, Pbase b)
void ray_dte_fprint_as_dense(File * f, Pray_dte rd, Pbase b) impression d'un rayon ou d'une droite
bool egaliste_rd(Pray_dte l1, Pray_dte *ad_l2)
bool egaliste_rd(Pray_dte l1, Pray_dte * l2): egalite de deux listes de rayons ou de droites
Pray_dte ray_dte_dup(Pray_dte rd_in)
Pray_dte ray_dte_dup(Pray_dte rd_in): duplication (allocation et copie) d'une structure ray_dte;.
void ray_dte_fprint(FILE *f, Pray_dte rd, char *(*nom_var)(Variable))
void ray_dte_fprint(File * f, Pray_dte rd, char * (*nom_var)()): impression d'un rayon ou d'une droit...
Pray_dte ray_oppose(Pray_dte r)
Pray_dte ray_oppose(Pray_dte r): transformation d'un rayon en son oppose (effet de bord)
Pray_dte ray_dte_new()
Pray_dte ray_dte_new(): allocation d'une structure ray_dte;.
void dbg_ray_dte_rm(Pray_dte rd, char *f)
void dbg_ray_dte(Pray_dte rd, char * f): desallocation complete d'une structure ray_dte rd avec trace...
Pray_dte elim_null_vect(Pray_dte l, int *n)
Pray_dte elim_null_vect(Pray_dte l, int * n): elimine les vecteurs nuls d'une liste l de rayons ou de...
bool rd_in_liste(Pray_dte rd, Pray_dte lrd)
bool rd_in_liste(Pray-dte rd, Pray_dte lrd): test si rd appartient a la liste lrd
void ray_dte_dump(Pray_dte rd)
void ray_dte_dump(Pray_dte rd): impression de debug de rd sur stderr, utilisant variable_debug_name()
void elim_tt_rd(Pray_dte listrd)
void elim_tt_rd(Pray_dte listrd): suppression d'une liste de rayons ou d'une liste de droites
void ray_dte_rm(Pray_dte rd)
void ray_dte_rm(Pray_dte rm): desallocation complete d'une structure ray_dte
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
void vect_chg_sgn(Pvecteur v)
void vect_chg_sgn(Pvecteur v): multiplie v par -1
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
struct Svecteur * vecteur
#define VECTEUR_UNDEFINED
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;.
void dbg_vect_rm(Pvecteur v, char __attribute__((unused)) *f)
void dbg_vect_rm(Pvecteur v, char * f): desallocation d'un vecteur avec marquage de la fonction provo...
void vect_rm(Pvecteur v)
void vect_rm(Pvecteur v): desallocation des couples de v;
void vect_normalize(Pvecteur v)
void vect_normalize(Pvecteur v): division de tous les coefficients de v par leur pgcd; "normalisation...