| 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 | |