Functions | |
s_fm_compsol_t * | fm_compsol_alloc (unsigned size) |
s_fm_compsol_t * | fm_compsol_dup (s_fm_compsol_t *s) |
void | fm_compsol_free (s_fm_compsol_t *s) |
static s_fm_system_t * | fm_compsol_init_remove_free (s_fm_compsol_t *ret, s_fm_solution_t *sfree, s_fm_system_t *s_red) |
static s_fm_compsol_t * | fm_compsol_init (s_fm_compsol_t *ret, s_fm_system_t *s_in, int nb_eq, s_fm_solution_t *sfree) |
s_fm_compsol_t * | fm_compsol_init_sol_free (s_fm_solution_t *in, s_fm_solution_t *sfree) |
s_fm_compsol_t * | fm_compsol_init_sol (s_fm_solution_t *in) |
s_fm_compsol_t * | fm_compsol_init_sys (s_fm_system_t *in) |
void | fm_compsol_add_unique (s_fm_compsol_t *s, s_fm_vector_t *v) |
s_fm_solution_t * | fm_compsol_expand (s_fm_compsol_t *s) |
s_fm_solution_t * | fm_compsol_redundancy_elimination (s_fm_solution_t *s) |
s_fm_system_t * | fm_compsol_redundancy_elimination_sys (s_fm_system_t *s) |
s_fm_compsol_t* fm_compsol_alloc | ( | unsigned | size | ) |
s_fm_compsol_t* fm_compsol_dup | ( | s_fm_compsol_t * | s | ) |
void fm_compsol_free | ( | s_fm_compsol_t * | s | ) |
static s_fm_system_t* fm_compsol_init_remove_free | ( | s_fm_compsol_t * | ret, | |
s_fm_solution_t * | sfree, | |||
s_fm_system_t * | s_red | |||
) | [static] |
Helper. Remove free variables for a system.
static s_fm_compsol_t* fm_compsol_init | ( | s_fm_compsol_t * | ret, | |
s_fm_system_t * | s_in, | |||
int | nb_eq, | |||
s_fm_solution_t * | sfree | |||
) | [static] |
Initialization of a compacted solution. Works in place on s_in. Reduce the system with echelon-like form.
s_fm_compsol_t* fm_compsol_init_sol_free | ( | s_fm_solution_t * | in, | |
s_fm_solution_t * | sfree | |||
) |
Initialize a compacted solution from a fm_solution_t, and a set of free variables (bounds are given in a solution_t, where each non-null variable is a free variable). Note: A free variable must be bounded in at least one direction.
s_fm_compsol_t* fm_compsol_init_sol | ( | s_fm_solution_t * | in | ) |
Initialize a compacted solution from a fm_solution_t.
s_fm_compsol_t* fm_compsol_init_sys | ( | s_fm_system_t * | in | ) |
Initialize a compacted solution from a fm_system_t.
void fm_compsol_add_unique | ( | s_fm_compsol_t * | s, | |
s_fm_vector_t * | v | |||
) |
Add a (full dimensional) vector to a compacted solution.
s_fm_solution_t* fm_compsol_expand | ( | s_fm_compsol_t * | s | ) |
Expand a compacted solution to a full polyhedron
s_fm_solution_t* fm_compsol_redundancy_elimination | ( | s_fm_solution_t * | s | ) |
Remove some redundant inequalities.
s_fm_system_t* fm_compsol_redundancy_elimination_sys | ( | s_fm_system_t * | s | ) |
Remove some redundant inequalities. Works in place.