configure.in: set AC_CONFIG_MACRO_DIR
[piplib.git] / source / funcall.h
blob3461e1fc4d1237ea8bc206d2844485e9cc258c4b
1 /******************************************************************************
2 * PIP : Parametric Integer Programming *
3 ******************************************************************************
4 * funcall.h *
5 ******************************************************************************
6 * *
7 * Copyright Paul Feautrier, 1988-2005 *
8 * *
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. *
13 * *
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 *
17 * for more details. *
18 * *
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 *
22 * *
23 * Written by Paul Feautrier *
24 * *
25 *****************************************************************************/
27 #ifndef FUNCALL_H
28 #define FUNCALL_H
29 #if defined(__cplusplus)
30 extern "C"
32 #endif
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)
40 #else
41 Entier pgcd(Entier, Entier);
42 Entier mod(Entier,Entier);
43 int llog(Entier);
44 #endif
46 int dgetc(FILE *foo);
47 FILE *pip_create_dump_file();
48 int sol_hwm(void);
49 void sol_simplify(int);
50 int is_not_Nil(int);
51 int sol_edit(FILE *, int);
52 void tab_reset(struct high_water_mark);
53 void sol_reset(int);
54 struct high_water_mark tab_hwm(void);
55 Tableau *tab_get(FILE *, int,int,int);
56 int tab_simplify(Tableau *tp, int cst);
57 void sol_init(void);
58 void sol_close(void);
59 void tab_init(void);
60 void tab_close(void);
61 void sol_if(void);
62 void sol_forme(int);
63 void sol_val(Entier, Entier);
64 void sol_nil(void);
65 void sol_error(int);
66 Tableau * tab_alloc(int, int, int);
67 void sol_list(int);
68 void tab_display(Tableau *, FILE *);
69 Tableau * expanser(Tableau *, int, int, int, int, int, int);
70 void sol_new(int);
71 void sol_div(void);
73 #if defined(__cplusplus)
75 #endif
76 #endif /* define _H */