move Free_ParamNames polylib and make param names const char **
[barvinok.git] / omega / vertices.cc
blobc99c84a3db38e2ca410f1097be4abae2af651a0b
1 #include <assert.h>
2 #include <omega.h>
3 #include <barvinok/options.h>
4 #include <barvinok/util.h>
5 #include "omega/convert.h"
6 #include "vertices.h"
7 #include "param_util.h"
8 #include "config.h"
10 void vertices(Relation& r)
12 varvector vv;
13 varvector params;
14 Param_Polyhedron *PP;
15 struct barvinok_options *options = barvinok_options_new_with_defaults();
17 Polyhedron *D = relation2Domain(r, vv, params, options->MaxRays);
18 assert(!D->next);
19 Polyhedron *ctx = Universe_Polyhedron(params.size());
21 r.setup_names();
22 const char **param_names = new const char *[params.size()];
23 for (int i = 0; i < params.size(); ++i)
24 param_names[i] = params[i]->char_name();
26 PP = Polyhedron2Param_Polyhedron(D, ctx, options);
27 Param_Polyhedron_Print(stdout, PP, param_names);
29 delete [] param_names;
31 Param_Polyhedron_Free(PP);
32 Polyhedron_Free(ctx);
33 Domain_Free(D);
34 barvinok_options_free(options);