X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=polyhedron_minimize.c;h=bb9dabe19e50318e9f4ace407d45391b3e6e1cb1;hb=0f8c926aecfed1ad34fdb6a2377ce086cbb10100;hp=fbd0e1a810a3b7c0d1eb93ecf9c35af16137d313;hpb=00472a3bcaa72cf398d235d3b345aa4ede3479db;p=platform%2Fupstream%2Fisl.git diff --git a/polyhedron_minimize.c b/polyhedron_minimize.c index fbd0e1a..bb9dabe 100644 --- a/polyhedron_minimize.c +++ b/polyhedron_minimize.c @@ -1,8 +1,17 @@ +/* + * Copyright 2008-2009 Katholieke Universiteit Leuven + * + * Use of this software is governed by the MIT license + * + * Written by Sven Verdoolaege, K.U.Leuven, Departement + * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium + */ + #include -#include "isl_set.h" -#include "isl_vec.h" -#include "isl_ilp.h" -#include "isl_seq.h" +#include +#include +#include +#include /* The input of this program is the same as that of the "polytope_minimize" * program from the barvinok distribution. @@ -53,11 +62,12 @@ int main(int argc, char **argv) isl_int opt; unsigned dim; enum isl_lp_result res; + isl_printer *p; isl_int_init(opt); - bset = isl_basic_set_read_from_file(ctx, stdin, 0, ISL_FORMAT_POLYLIB); + bset = isl_basic_set_read_from_file(ctx, stdin); assert(bset); - obj = isl_vec_read_from_file(ctx, stdin, ISL_FORMAT_POLYLIB); + obj = isl_vec_read_from_file(ctx, stdin); assert(obj); dim = isl_basic_set_total_dim(bset); assert(obj->size >= dim && obj->size <= dim + 1); @@ -66,8 +76,10 @@ int main(int argc, char **argv) else obj = vec_ror(obj); res = isl_basic_set_solve_ilp(bset, 0, obj->el, &opt, &sol); - assert(res != isl_lp_error); switch (res) { + case isl_lp_error: + fprintf(stderr, "error\n"); + return -1; case isl_lp_empty: fprintf(stdout, "empty\n"); break; @@ -75,9 +87,12 @@ int main(int argc, char **argv) fprintf(stdout, "unbounded\n"); break; case isl_lp_ok: - isl_vec_dump(sol, stdout, 0); - isl_int_print(stdout, opt, 0); - fprintf(stdout, "\n"); + p = isl_printer_to_file(ctx, stdout); + p = isl_printer_print_vec(p, sol); + p = isl_printer_end_line(p); + p = isl_printer_print_isl_int(p, opt); + p = isl_printer_end_line(p); + isl_printer_free(p); } isl_basic_set_free(bset); isl_vec_free(obj);