solution.c File Reference


Functions

s_fm_solution_tfm_solution_alloc (size_t size)
void fm_solution_free (s_fm_solution_t *s)
s_fm_solution_tfm_solution_dup (s_fm_solution_t *s)
void fm_solution_print (FILE *stream, s_fm_solution_t *s)
s_fm_system_tfm_solution_to_system (s_fm_solution_t *s)
s_fm_solution_tfm_system_to_solution (s_fm_system_t *s)
s_fm_system_tfm_solution_to_system_at (s_fm_solution_t *s, int idx)
int fm_solution_add_unique_line_at (s_fm_solution_t *s, s_fm_vector_t *v, unsigned idx)
int fm_solution_add_line_at (s_fm_solution_t *s, s_fm_vector_t *v, unsigned idx)
int fm_solution_equalities_find (s_fm_solution_t *s)
void fm_solution_cut (s_fm_solution_t *s, int dim)
int fm_solution_point_included (s_fm_solution_t *s, s_fm_vector_t *v)
s_fm_solution_tfm_solution_simplify (s_fm_solution_t *s, int simplify_mode)
static void count_points (s_fm_solution_t *sol, s_fm_vector_t *draw, int mask, void *data)
unsigned long long int fm_solution_count (s_fm_solution_t *sol, int bound_limit, int mask)
void fm_solution_traverse (s_fm_solution_t *sol, int bound_limit, int mask, point_fun_t f, void *data)

Function Documentation

s_fm_solution_t* fm_solution_alloc ( size_t  size  ) 

void fm_solution_free ( s_fm_solution_t s  ) 

s_fm_solution_t* fm_solution_dup ( s_fm_solution_t s  ) 

void fm_solution_print ( FILE *  stream,
s_fm_solution_t s 
)

s_fm_system_t* fm_solution_to_system ( s_fm_solution_t s  ) 

Convert a solution_t to a system_t.

s_fm_solution_t* fm_system_to_solution ( s_fm_system_t s  ) 

Convert a system_t to a solution_t.

s_fm_system_t* fm_solution_to_system_at ( s_fm_solution_t s,
int  idx 
)

Convert the first 'idx' variables of a solution_t to a system_t.

int fm_solution_add_unique_line_at ( s_fm_solution_t s,
s_fm_vector_t v,
unsigned  idx 
)

Add a vector to the solution set. If v is already present in s, or if v (is)does subsume(d by) a vector of s, returns 0, else return 1.

int fm_solution_add_line_at ( s_fm_solution_t s,
s_fm_vector_t v,
unsigned  idx 
)

int fm_solution_equalities_find ( s_fm_solution_t s  ) 

Find implicit equalities in the system.

void fm_solution_cut ( s_fm_solution_t s,
int  dim 
)

int fm_solution_point_included ( s_fm_solution_t s,
s_fm_vector_t v 
)

Check if a point (represented by a vector_t) is in a polyhedron.

s_fm_solution_t* fm_solution_simplify ( s_fm_solution_t s,
int  simplify_mode 
)

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

See M. Le Fur Irisa research report.

static void count_points ( s_fm_solution_t sol,
s_fm_vector_t draw,
int  mask,
void *  data 
) [static]

Helper to count points in a polytope.

unsigned long long int fm_solution_count ( s_fm_solution_t sol,
int  bound_limit,
int  mask 
)

Count the number of integer points in the polytope.

void fm_solution_traverse ( s_fm_solution_t sol,
int  bound_limit,
int  mask,
point_fun_t  f,
void *  data 
)

Count the number of integer points in the polytope.


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