diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2008-08-15 21:56:30 +0200 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2008-08-25 10:15:08 +0200 |
commit | 6ee7c30d7fedfd81f6254fe15534a154ce7624a1 (patch) | |
tree | aa3add251079db8f50677b0f2b2be262712fc24e /isl_lp_piplib.c | |
parent | fb6acf38cd8a8220b2282406613fe229aa96fa73 (diff) | |
download | isl-6ee7c30d7fedfd81f6254fe15534a154ce7624a1.tar.gz isl-6ee7c30d7fedfd81f6254fe15534a154ce7624a1.tar.bz2 isl-6ee7c30d7fedfd81f6254fe15534a154ce7624a1.zip |
add convex hull computation
Diffstat (limited to 'isl_lp_piplib.c')
-rw-r--r-- | isl_lp_piplib.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/isl_lp_piplib.c b/isl_lp_piplib.c index 0072295d..8289e794 100644 --- a/isl_lp_piplib.c +++ b/isl_lp_piplib.c @@ -4,7 +4,8 @@ #include "isl_map_piplib.h" enum isl_lp_result isl_pip_solve_lp(struct isl_basic_map *bmap, int maximize, - isl_int *f, isl_int denom, isl_int *opt) + isl_int *f, isl_int denom, isl_int *opt, + isl_int *opt_denom) { enum isl_lp_result res = isl_lp_ok; PipMatrix *domain = NULL; @@ -35,7 +36,12 @@ enum isl_lp_result isl_pip_solve_lp(struct isl_basic_map *bmap, int maximize, else if (entier_zero_p(sol->list->vector->the_deno[0])) res = isl_lp_unbounded; else { - if (maximize) + if (opt_denom) { + isl_seq_cpy_from_pip(opt, + &sol->list->vector->the_vector[0], 1); + isl_seq_cpy_from_pip(opt_denom, + &sol->list->vector->the_deno[0], 1); + } else if (maximize) mpz_fdiv_q(*opt, sol->list->vector->the_vector[0], sol->list->vector->the_deno[0]); else |