Main Page | Class List | File List | Class Members | File Members

ranking.h

Go to the documentation of this file.
00001 // Tools to compute the ranking function of an iteration J : the number of integer points in P that are lexicographically inferior to J
00002 // (C) B. Meister 6/2005
00003 // LSIIT, UMR 7005 CNRS Université Louis Pasteur
00004 // HiPEAC Network
00005 // ICPS
00006 
00007 #ifndef __BM_POLYLIB_RANKING_H__
00008 #define __BM_POLYLIB_RANKING_H__
00009 #include <polylib/polylib.h>
00010 
00011 /*
00012  * Returns a list of polytopes needed to compute
00013  * the number of points in P that are lexicographically
00014  * smaller than a given point in D.
00015  * Only the first dim dimensions are taken into account
00016  * for computing the lexsmaller relation.
00017  * The remaining variables are assumed to be extra
00018  * existential/control variables.
00019  * When P == D, this is the conventional ranking function.
00020  * P and D are assumed to have the same parameter domain C.
00021  *
00022  * The first polyhedron in the list returned is the
00023  * updated context: a combination of D and C or an extended C.
00024  *
00025  * The order of the variables in the remaining polyhedra is
00026  * - first dim variables of P
00027  * - existential variables of P
00028  * - existential variables of D
00029  * - first dim variables of D
00030  * - the parameters
00031  */
00032 Polyhedron *LexSmaller(Polyhedron *P, Polyhedron *D, unsigned dim,
00033                         Polyhedron *C, unsigned MAXRAYS);
00034 
00035 /*
00036  * Returns the number of points in P that are lexicographically
00037  * smaller than a given point in D.
00038  * Only the first dim dimensions are taken into account
00039  * for computing the lexsmaller relation.
00040  * The remaining variables are assumed to be extra
00041  * existential/control variables.
00042  * When P == D, this is the conventional ranking function.
00043  * P and D are assumed to have the same parameter domain C.
00044  * The variables in the Enumeration correspond to the first dim variables
00045  * in D followed by the parameters of D (the variables of C).
00046  */
00047 Enumeration *Polyhedron_LexSmallerEnumerate(Polyhedron *P, Polyhedron *D, 
00048                                             unsigned dim,
00049                                             Polyhedron *C, unsigned MAXRAYS);
00050 
00051 /*
00052  * Returns a function that assigns a unique number to each point in the
00053  * polytope P ranging from zero to (number of points in P)-1.
00054  * The order of the numbers corresponds to the lexicographical order.
00055  *
00056  * C is the parameter context of the polytope
00057  */
00058 Enumeration *Polyhedron_Ranking(Polyhedron *P, Polyhedron *C, unsigned MAXRAYS);
00059 
00060 #endif // __BM_POLYLIB_RANKING_H__

Generated on Mon Sep 12 15:15:11 2005 for polylib by doxygen 1.3.5