system.h File Reference

Go to the source code of this file.

Data Structures

struct  s_fm_system

Defines

#define FM_SYSTEM_REDREC_DESCENDANT   32
#define FM_SYSTEM_REDREC_IRIGOIN   64
#define FM_SYSTEM_ALLOC_BUFFER_SIZE   64

Typedefs

typedef struct
s_fm_system 
s_fm_system_t

Functions

s_fm_system_tfm_system_alloc (size_t nb_lines, size_t nb_cols)
s_fm_system_tfm_system_dup (s_fm_system_t *s)
void fm_system_free (s_fm_system_t *s)
void fm_system_normalize_ineq (s_fm_system_t *s)
s_fm_system_tfm_system_read (FILE *stream)
int fm_system_print (FILE *stream, s_fm_system_t *s)
int fm_system_sort (s_fm_system_t *s, unsigned idx, unsigned *n1, unsigned *n2)
int fm_system_remove_line (s_fm_system_t *s, unsigned idx)
int fm_system_add_line_at (s_fm_system_t *s, s_fm_vector_t *v, unsigned idx)
int fm_system_add_line (s_fm_system_t *s, s_fm_vector_t *v)
int fm_system_add_column (s_fm_system_t *s, int pos)
s_fm_system_tfm_system_to_z (s_fm_system_t *s)
s_fm_system_tfm_system_swap_column (s_fm_system_t *s, unsigned col_src, unsigned col_dst)
s_fm_system_tfm_system_split (s_fm_system_t *s, unsigned col)
int fm_system_remove_duplicate (s_fm_system_t *s)
void fm_system_equalities_sort (s_fm_system_t *s)
int fm_system_equalities_find (s_fm_system_t *s)
int fm_system_point_included (s_fm_system_t *s, s_fm_vector_t *v)
int ** fm_system_getconnected (s_fm_system_t *system)
int fm_piptools_check_int (s_fm_system_t *sys)
s_fm_system_tfm_system_simplify (s_fm_system_t *system, int simplify_mode)


Define Documentation

#define FM_SYSTEM_REDREC_DESCENDANT   32

#define FM_SYSTEM_REDREC_IRIGOIN   64

#define FM_SYSTEM_ALLOC_BUFFER_SIZE   64


Typedef Documentation

typedef struct s_fm_system s_fm_system_t


Function Documentation

s_fm_system_t* fm_system_alloc ( size_t  nb_lines,
size_t  nb_cols 
)

s_fm_system_t* fm_system_dup ( s_fm_system_t s  ) 

void fm_system_free ( s_fm_system_t s  ) 

void fm_system_normalize_ineq ( s_fm_system_t s  ) 

s_fm_system_t* fm_system_read ( FILE *  stream  ) 

int fm_system_print ( FILE *  stream,
s_fm_system_t s 
)

int fm_system_sort ( s_fm_system_t s,
unsigned  idx,
unsigned *  n1,
unsigned *  n2 
)

int fm_system_remove_line ( s_fm_system_t s,
unsigned  idx 
)

int fm_system_add_line_at ( s_fm_system_t s,
s_fm_vector_t v,
unsigned  idx 
)

int fm_system_add_line ( s_fm_system_t s,
s_fm_vector_t v 
)

int fm_system_add_column ( s_fm_system_t s,
int  pos 
)

s_fm_system_t* fm_system_to_z ( s_fm_system_t s  ) 

s_fm_system_t* fm_system_swap_column ( s_fm_system_t s,
unsigned  col_src,
unsigned  col_dst 
)

s_fm_system_t* fm_system_split ( s_fm_system_t s,
unsigned  col 
)

int fm_system_remove_duplicate ( s_fm_system_t s  ) 

void fm_system_equalities_sort ( s_fm_system_t s  ) 

int fm_system_equalities_find ( s_fm_system_t s  ) 

int fm_system_point_included ( s_fm_system_t s,
s_fm_vector_t v 
)

Check if a point is in a polyhedron.

int** fm_system_getconnected ( s_fm_system_t system  ) 

Compute the connected indices.

Result is outputted as an int matrix. Its line indice represent the class index (there is at most size_sys classes, when the graph is not connected), and for each class there is at most size_sys elements (when the graph is fully connected). A class is represented by a set of variable indices (in basis 0), and is terminated by '-1'.

int fm_piptools_check_int ( s_fm_system_t sys  ) 

Check if the system has an integer solution (using PIP).

s_fm_system_t* fm_system_simplify ( s_fm_system_t system,
int  simplify_mode 
)

Remove redundant constraints from a polyhedron defined by a set of hyperplanes..

See M. Le Fur Irisa research report.


Generated on Fri Oct 31 00:49:13 2008 for FM by  doxygen 1.5.3