piptools.h

Go to the documentation of this file.
00001 /*
00002  * piptools.h: this file is part of the FM project.
00003  *
00004  * FM, a fast and optimized C implementation of Fourier-Motzkin
00005  * projection algorithm.
00006  *
00007  * Copyright (C) 2007-2008 Louis-Noel Pouchet
00008  *
00009  * This program is free software; you can redistribute it and/or
00010  * modify it under the terms of the GNU Lesser General Public License
00011  * as published by the Free Software Foundation; either version 3
00012  * of the License, or (at your option) any later version.
00013  *
00014  * The complete GNU Lesser General Public Licence Notice can be found
00015  *  as the `COPYING.LESSER' file in the root directory.
00016  *
00017  * Author:
00018  * Louis-Noel Pouchet <Louis-Noel.Pouchet@inria.fr>
00019  *
00020  */
00021 #ifndef FM_PIPTOOLS_H
00022 # define FM_PIPTOOLS_H
00023 
00024 # include <assert.h>
00025 # include <fm/common.h>
00026 
00027 /* Must have piplib on the system. */
00028 
00029 // # ifdef HAVE_LIBPIPLIB
00030 
00031 #  include <piplib/piplib64.h>
00032 
00033 #  include <fm/system.h>
00034 #  include <fm/solution.h>
00035 
00036 
00037 #  define FM_PIPTOOLS_RAT 0
00038 #  define FM_PIPTOOLS_INT 1
00039 
00040 
00041 BEGIN_C_DECLS
00042 
00043 extern
00044 int
00045 fm_piptools_check_rat (s_fm_system_t* sys);
00046 
00047 extern
00048 int
00049 fm_piptools_check_int (s_fm_system_t* sys);
00050 
00051 extern
00052 int
00053 fm_piptools_check (s_fm_system_t* system, int mode);
00054 
00055 extern
00056 PipQuast*
00057 fm_piptools_pip (s_fm_system_t* sys, s_fm_system_t* context, int mode);
00058 
00059 extern
00060 int
00061 fm_piptools_check_sol (s_fm_solution_t* sol, int mode);
00062 
00063 extern
00064 int
00065 fm_piptools_check_sol_msg (char* msg,
00066                            FILE* stream,
00067                            s_fm_solution_t* sol,
00068                            int mode);
00069 
00070 extern
00071 int
00072 fm_piptools_pipmatrix_equal (PipMatrix* a,
00073                              PipMatrix* b);
00074 
00075 extern
00076 PipMatrix*
00077 fm_piptools_st_to_pipmatrix (s_fm_system_t* sys);
00078 
00079 extern
00080 s_fm_system_t*
00081 fm_piptools_pm_to_system (PipMatrix* m);
00082 
00083 
00084 END_C_DECLS
00085 
00086 
00087 // # endif // HAVE_LIBPIPLIB
00088 
00089 #endif // FM_PIPTOOLS_H

Generated on Thu Oct 30 13:38:21 2008 for FM by  doxygen 1.5.3