PIPS
polyedre.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/polyedre/polyedre-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef polyedre_header_included
7 #define polyedre_header_included
8 /* polyedre-local.h */
9 /*
10 
11  $Id: polyedre-local.h 1641 2016-03-02 08:20:19Z coelho $
12 
13  Copyright 1989-2016 MINES ParisTech
14 
15  This file is part of Linear/C3 Library.
16 
17  Linear/C3 Library is free software: you can redistribute it and/or modify it
18  under the terms of the GNU Lesser General Public License as published by
19  the Free Software Foundation, either version 3 of the License, or
20  any later version.
21 
22  Linear/C3 Library is distributed in the hope that it will be useful, but WITHOUT ANY
23  WARRANTY; without even the implied warranty of MERCHANTABILITY or
24  FITNESS FOR A PARTICULAR PURPOSE.
25 
26  See the GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with Linear/C3 Library. If not, see <http://www.gnu.org/licenses/>.
30 
31 */
32 
33 /* package sur les polyedres poly
34  *
35  * Malik Imadache, Corinne Ancourt, Neil Butler, Francois Irigoin
36  *
37  * Modifications:
38  * - declaration de Ppoly et Spoly utilisant Psysteme au lieu de struct
39  * Ssysteme * (FI, 3/1/90)
40  */
41 #include "ray_dte.h"
42 #include "sg.h"
43 #include "polynome.h"
44 
45 /* obsolete (not maintained)
46  */
47 /*
48 
49 typedef struct ssinter {
50  int val_sat,sv;
51  Psommet som_sat;
52  } Ss_sat_inter;
53 
54 typedef struct srdinter {
55  int val_sat;
56  Pray_dte vect_sat;
57  } Svect_sat_inter;
58 
59 typedef struct Spoly {
60  Psysteme sc;
61  Ptsg sg;
62  } *Ppoly,Spoly;
63 
64 
65 #define POLYEDRE_UNDEFINED ((Ppoly) NULL)
66 #define POLYEDRE_UNDEFINED_P(p) ((p)==POLYEDRE_UNDEFINED)
67 
68 #define print_ineq_sat(ineq,nb_s,nb_r) fprint_ineq_sat(stdout,ineq,nb_s,nb_r)
69 
70 #define print_lineq_sat(lineq,nb_s,nb_r) \
71  fprint_lineq_sat(stdout,lineq,nb_s,nb_r)
72 */
73 
74 /* macro d'acces aux champs et sous-champs d'un polyedre, de son systeme
75  * generateur sg et de son systeme de contraintes sc
76  */
77 /*
78 #define poly_inegalites(p) ((p)->sc->inegalites)
79 #define poly_egalites(p) ((p)->sc->egalites)
80 #define poly_sommets(p) (sg_sommets((p)->sg))
81 #define poly_rayons(p) (sg_rayons((p)->sg))
82 #define poly_droites(p) (sg_droites((p)->sg))
83 
84 #define poly_nbre_sommets(p) (sg_nbre_sommets((p)->sg))
85 #define poly_nbre_rayons(p) (sg_nbre_rayons((p)->sg))
86 #define poly_nbre_droites(p) (sg_nbre_droites((p)->sg))
87 
88 #define poly_nbre_egalites(p) (sc_nbre_egalites((p)->sc))
89 #define poly_nbre_inegalites(p) (sc_nbre_inegalites((p)->sc))
90 */
91 
92 /* cproto-generated files */
93 /* sc_enveloppe.c */
94 extern Psysteme sc_enveloppe_chernikova_ofl_ctrl(Psysteme /*s1*/, Psysteme /*s2*/, int /*ofl_ctrl*/);
95 extern Psysteme sc_enveloppe_chernikova(Psysteme /*s1*/, Psysteme /*s2*/);
96 extern Psysteme elementary_convex_union(Psysteme /*s1*/, Psysteme /*s2*/);
97 extern Psysteme sc_cute_convex_hull(Psysteme /*is1*/, Psysteme /*is2*/);
98 extern Psysteme sc_rectangular_hull(Psysteme /*sc*/, Pbase /*pb*/);
99 /* chernikova_fixprec.c */
102 extern Psysteme sc_convex_hull_fixprec(Psysteme /*sc1*/, Psysteme /*sc2*/);
103 /* chernikova_mulprec.c */
104 /* chernikova.c */
105 extern Ptsg sc_to_sg_chernikova(Psysteme /*sc*/);
106 extern Psysteme sg_to_sc_chernikova(Ptsg /*sg*/);
107 extern Psysteme sc_convex_hull(Psysteme /*sc1*/, Psysteme /*sc2*/);
108 #endif /* polyedre_header_included */
Psysteme elementary_convex_union(Psysteme, Psysteme)
implements FC basic idea of simple fast cases...
Definition: sc_enveloppe.c:171
Psysteme sc_convex_hull(Psysteme, Psysteme)
Definition: chernikova.c:74
Psysteme sc_enveloppe_chernikova_ofl_ctrl(Psysteme, Psysteme, int)
Warning! Do not modify this file that is automatically generated!
Definition: sc_enveloppe.c:68
Psysteme sg_to_sc_chernikova(Ptsg)
Definition: chernikova.c:58
Psysteme sc_convex_hull_fixprec(Psysteme, Psysteme)
Psysteme sc_enveloppe_chernikova(Psysteme, Psysteme)
Definition: sc_enveloppe.c:127
Ptsg sc_to_sg_chernikova_fixprec(Psysteme)
chernikova_fixprec.c
Ptsg sc_to_sg_chernikova(Psysteme)
chernikova_mulprec.c
Definition: chernikova.c:42
Psysteme sc_rectangular_hull(Psysteme, Pbase)
take the rectangular bounding box of the systeme sc, by projecting each constraint of the systeme aga...
Definition: sc_enveloppe.c:456
Psysteme sg_to_sc_chernikova_fixprec(Ptsg)
Psysteme sc_cute_convex_hull(Psysteme, Psysteme)
returns s1 v s2.
Definition: sc_enveloppe.c:369
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
Definition: vecteur-local.h:89
Representation d'un systeme generateur par trois ensembles de sommets de rayons et de droites.
Definition: sg-local.h:66