1 /******************************************************************************
2 * PIP : Parametric Integer Programming *
3 ******************************************************************************
5 ******************************************************************************
7 * Copyright Paul Feautrier, 1988-2005 *
9 * This 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 2.1 of the License, or (at *
12 * your option) any later version. *
14 * This software is distributed in the hope that it will be useful, but *
15 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
16 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
19 * You should have received a copy of the GNU Lesser General Public License *
20 * along with this library; if not, write to the Free Software Foundation, *
21 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
23 * Written by Paul Feautrier *
25 *****************************************************************************/
29 #if defined(__cplusplus)
34 #define TRAITER_INT (1 << 0) /* Compute integer optimum */
35 #define TRAITER_DUAL (1 << 1) /* Compute dual variables */
36 void traiter(Tableau
*tp
, Tableau
*ctxt
, int nvar
, int nparm
, int ni
, int nc
,
37 int bigparm
, int flags
);
38 int integrer(Tableau
**, Tableau
**, int *, int *, int *, int *, int);
39 #if defined(LINEAR_VALUE_IS_MP)
41 Entier
pgcd(Entier
, Entier
);
42 Entier
mod(Entier
,Entier
);
47 FILE *pip_create_dump_file();
49 void sol_simplify(int);
51 int sol_edit(FILE *, int);
52 void tab_reset(struct high_water_mark
);
54 struct high_water_mark
tab_hwm(void);
55 Tableau
*tab_get(FILE *, int,int,int);
56 int tab_simplify(Tableau
*tp
, int cst
);
63 void sol_val(Entier
, Entier
);
66 Tableau
* tab_alloc(int, int, int);
68 void tab_display(Tableau
*, FILE *);
69 Tableau
* expanser(Tableau
*, int, int, int, int, int, int);
73 #if defined(__cplusplus)
76 #endif /* define _H */