solution.h File Reference

Go to the source code of this file.

Data Structures

struct  s_fm_ball
struct  s_fm_solution

Defines

#define FM_SOLUTION_PRINT_POINT   1

Typedefs

typedef struct s_fm_ball s_fm_ball_t
typedef struct
s_fm_solution 
s_fm_solution_t
typedef void(* point_fun_t )(s_fm_solution_t *, s_fm_vector_t *, int, void *)

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_system_tfm_solution_to_system_at (s_fm_solution_t *s, int idx)
int fm_solution_add_line_at (s_fm_solution_t *s, s_fm_vector_t *v, unsigned idx)
int fm_solution_add_unique_line_at (s_fm_solution_t *s, s_fm_vector_t *v, unsigned idx)
s_fm_solution_tfm_system_to_solution (s_fm_system_t *s)
s_fm_system_tfm_system_reduce (s_fm_system_t *in, s_fm_solution_t *redeq)
void fm_system_subst_in_vector (s_fm_vector_t *v, s_fm_vector_t *v1, s_fm_vector_t *pattern, s_fm_solution_t *redeq, int iv1)
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)
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)
s_fm_solution_tfm_solution_simplify (s_fm_solution_t *s, int simplify_mode)


Define Documentation

#define FM_SOLUTION_PRINT_POINT   1


Typedef Documentation

typedef struct s_fm_ball s_fm_ball_t

typedef struct s_fm_solution s_fm_solution_t

typedef void(* point_fun_t)(s_fm_solution_t *, s_fm_vector_t *, int, void *)


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_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_line_at ( s_fm_solution_t s,
s_fm_vector_t v,
unsigned  idx 
)

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.

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_system_reduce ( s_fm_system_t in,
s_fm_solution_t redeq 
)

void fm_system_subst_in_vector ( s_fm_vector_t v,
s_fm_vector_t v1,
s_fm_vector_t pattern,
s_fm_solution_t redeq,
int  iv1 
)

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.

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.

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.


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