PIPS
polyedre-local.h
Go to the documentation of this file.
1 /*
2 
3  $Id: polyedre-local.h 1641 2016-03-02 08:20:19Z coelho $
4 
5  Copyright 1989-2016 MINES ParisTech
6 
7  This file is part of Linear/C3 Library.
8 
9  Linear/C3 Library is free software: you can redistribute it and/or modify it
10  under the terms of the GNU Lesser General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  any later version.
13 
14  Linear/C3 Library is distributed in the hope that it will be useful, but WITHOUT ANY
15  WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  FITNESS FOR A PARTICULAR PURPOSE.
17 
18  See the GNU Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with Linear/C3 Library. If not, see <http://www.gnu.org/licenses/>.
22 
23 */
24 
25 /* package sur les polyedres poly
26  *
27  * Malik Imadache, Corinne Ancourt, Neil Butler, Francois Irigoin
28  *
29  * Modifications:
30  * - declaration de Ppoly et Spoly utilisant Psysteme au lieu de struct
31  * Ssysteme * (FI, 3/1/90)
32  */
33 #include "ray_dte.h"
34 #include "sg.h"
35 #include "polynome.h"
36 
37 /* obsolete (not maintained)
38  */
39 /*
40 
41 typedef struct ssinter {
42  int val_sat,sv;
43  Psommet som_sat;
44  } Ss_sat_inter;
45 
46 typedef struct srdinter {
47  int val_sat;
48  Pray_dte vect_sat;
49  } Svect_sat_inter;
50 
51 typedef struct Spoly {
52  Psysteme sc;
53  Ptsg sg;
54  } *Ppoly,Spoly;
55 
56 
57 #define POLYEDRE_UNDEFINED ((Ppoly) NULL)
58 #define POLYEDRE_UNDEFINED_P(p) ((p)==POLYEDRE_UNDEFINED)
59 
60 #define print_ineq_sat(ineq,nb_s,nb_r) fprint_ineq_sat(stdout,ineq,nb_s,nb_r)
61 
62 #define print_lineq_sat(lineq,nb_s,nb_r) \
63  fprint_lineq_sat(stdout,lineq,nb_s,nb_r)
64 */
65 
66 /* macro d'acces aux champs et sous-champs d'un polyedre, de son systeme
67  * generateur sg et de son systeme de contraintes sc
68  */
69 /*
70 #define poly_inegalites(p) ((p)->sc->inegalites)
71 #define poly_egalites(p) ((p)->sc->egalites)
72 #define poly_sommets(p) (sg_sommets((p)->sg))
73 #define poly_rayons(p) (sg_rayons((p)->sg))
74 #define poly_droites(p) (sg_droites((p)->sg))
75 
76 #define poly_nbre_sommets(p) (sg_nbre_sommets((p)->sg))
77 #define poly_nbre_rayons(p) (sg_nbre_rayons((p)->sg))
78 #define poly_nbre_droites(p) (sg_nbre_droites((p)->sg))
79 
80 #define poly_nbre_egalites(p) (sc_nbre_egalites((p)->sc))
81 #define poly_nbre_inegalites(p) (sc_nbre_inegalites((p)->sc))
82 */
83