piplib 1.2
[piplib.git] / include / piplib / funcall.h
blob97fb2517c47f5833778a7ebadf82851867451973
1 /******************************************************************************
2 * PIP : Parametric Integer Programming *
3 ******************************************************************************
4 * funcall.h *
5 ******************************************************************************
6 * *
7 * Copyright Paul Feautrier, 1988, 1993, 1994, 1996, 2002 *
8 * *
9 * This is free software; you can redistribute it and/or modify it under the *
10 * terms of the GNU General Public License as published by the Free Software *
11 * Foundation; either version 2 of the License, or (at your option) any later *
12 * 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 General Public License along *
20 * with software; if not, write to the Free Software Foundation, Inc., *
21 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 #if defined(LINEAR_VALUE_IS_MP)
35 void traiter(Tableau *, Tableau *, int, int, int, int, int, int);
36 int integrer(Tableau **, Tableau **, int *, int *, int *, int *);
37 #else
38 Entier pgcd(Entier, Entier);
39 Entier mod(Entier,Entier);
40 int llog(Entier);
41 Entier traiter(Tableau *, Tableau *, int, Entier, int, int, int, int, int);
42 int integrer(Tableau **, Tableau **, Entier, int *, int *, int *, int *);
43 #endif
44 int sol_hwm(void);
45 void sol_simplify(int);
46 int is_not_Nil(int);
47 int sol_edit(FILE *, int);
48 void tab_reset(struct high_water_mark);
49 void sol_reset(int);
50 struct high_water_mark tab_hwm(void);
51 Tableau *tab_get(FILE *, int,int,int);
52 void sol_init(void);
53 void tab_init(void);
54 void sol_if(void);
55 void sol_forme(int);
56 void sol_val(Entier, Entier);
57 void sol_nil(void);
58 void sol_error(int);
59 Tableau * tab_alloc(int, int, int);
60 void sol_list(int);
61 void tab_display(Tableau *, FILE *);
62 Tableau * expanser(Tableau *, int, int, int, int, int, int);
63 void sol_new(int);
64 void sol_div(void);
66 #if defined(__cplusplus)
68 #endif
69 #endif /* define _H */