polylib 5.22.8
ranking.h
Go to the documentation of this file.
1/**
2 * Tools to compute the ranking function of an iteration J: the number of
3 * integer points in P that are lexicographically inferior to J
4 * @author B. Meister <meister@icps.u-strasbg.fr>
5 * 6/2005
6 * LSIIT-ICPS, UMR 7005 CNRS Universite Louis Pasteur
7 * HiPEAC Network
8 */
9
10#ifndef __BM_POLYLIB_RANKING_H__
11#define __BM_POLYLIB_RANKING_H__
12#include <polylib/polylib.h>
13
14/*
15 * Returns a list of polytopes needed to compute
16 * the number of points in P that are lexicographically
17 * smaller than a given point in D.
18 * Only the first dim dimensions are taken into account
19 * for computing the lexsmaller relation.
20 * The remaining variables are assumed to be extra
21 * existential/control variables.
22 * When P == D, this is the conventional ranking function.
23 * P and D are assumed to have the same parameter domain C.
24 *
25 * The first polyhedron in the list returned is the
26 * updated context: a combination of D and C or an extended C.
27 *
28 * The order of the variables in the remaining polyhedra is
29 * - first dim variables of P
30 * - existential variables of P
31 * - existential variables of D
32 * - first dim variables of D
33 * - the parameters
34 */
35Polyhedron *LexSmaller(Polyhedron *P, Polyhedron *D, unsigned dim,
36 Polyhedron *C, unsigned MAXRAYS);
37
38/*
39 * Returns the number of points in P that are lexicographically
40 * smaller than a given point in D.
41 * Only the first dim dimensions are taken into account
42 * for computing the lexsmaller relation.
43 * The remaining variables are assumed to be extra
44 * existential/control variables.
45 * When P == D, this is the conventional ranking function.
46 * P and D are assumed to have the same parameter domain C.
47 * The variables in the Enumeration correspond to the first dim variables
48 * in D followed by the parameters of D (the variables of C).
49 */
51 unsigned dim, Polyhedron *C,
52 unsigned MAXRAYS);
53
54/*
55 * Returns a function that assigns a unique number to each point in the
56 * polytope P ranging from zero to (number of points in P)-1.
57 * The order of the numbers corresponds to the lexicographical order.
58 *
59 * C is the parameter context of the polytope
60 */
62
63#endif /* __BM_POLYLIB_RANKING_H__ */
Polyhedron * LexSmaller(Polyhedron *P, Polyhedron *D, unsigned dim, Polyhedron *C, unsigned MAXRAYS)
Tools to compute the ranking function of an iteration J: the number of integer points in P that are l...
Definition: ranking.c:34
Enumeration * Polyhedron_Ranking(Polyhedron *P, Polyhedron *C, unsigned MAXRAYS)
Definition: ranking.c:208
Enumeration * Polyhedron_LexSmallerEnumerate(Polyhedron *P, Polyhedron *D, unsigned dim, Polyhedron *C, unsigned MAXRAYS)
Returns the number of points in P that are lexicographically smaller than a given point in D.
Definition: ranking.c:179
#define MAXRAYS
Definition: verif_ehrhart.c:20