1 | /* |
2 | * Copyright 2016 Sven Verdoolaege |
3 | * |
4 | * Use of this software is governed by the MIT license |
5 | * |
6 | * Written by Sven Verdoolaege. |
7 | */ |
8 | |
9 | /* This program takes a (possibly parametric) polyhedron as input and |
10 | * prints print a full-dimensional polyhedron with the same number |
11 | * of integer points. |
12 | */ |
13 | |
14 | #include <isl/options.h> |
15 | #include <isl/printer.h> |
16 | #include <isl/set.h> |
17 | |
18 | #include "isl_morph.h" |
19 | |
20 | int main(int argc, char **argv) |
21 | { |
22 | isl_ctx *ctx; |
23 | isl_printer *p; |
24 | isl_basic_set *bset; |
25 | isl_morph *morph; |
26 | struct isl_options *options; |
27 | |
28 | options = isl_options_new_with_defaults(); |
29 | argc = isl_options_parse(opt: options, argc, argv, ISL_ARG_ALL); |
30 | ctx = isl_ctx_alloc_with_options(args: &isl_options_args, opt: options); |
31 | |
32 | bset = isl_basic_set_read_from_file(ctx, stdin); |
33 | |
34 | morph = isl_basic_set_variable_compression(bset, type: isl_dim_set); |
35 | bset = isl_morph_basic_set(morph, bset); |
36 | |
37 | p = isl_printer_to_file(ctx, stdout); |
38 | p = isl_printer_print_basic_set(printer: p, bset); |
39 | p = isl_printer_end_line(p); |
40 | isl_printer_free(printer: p); |
41 | |
42 | isl_basic_set_free(bset); |
43 | isl_ctx_free(ctx); |
44 | return 0; |
45 | } |
46 | |