util::poly_util Class Reference

Utility methods for (parameterized) polyhedra. More...

#include <util.h>

List of all members.

Static Public Member Functions

static bool expr_equal (const Polyhedron *pol, const ::Value *row)
 Check if c x = alpha over a polyhedron.
static bool expr_gt (const Polyhedron *pol, const ::Value *row)
 Check if c x + alpha_1 >= 0 over a polyhedron.
static bool expr_lt_r (const Polyhedron *pol, const ::Value *r1, const ::Value *r2, const ::Value *re)
 Check if c_1 x + alpha_1 <=_e c_2 x + alpha_2 over a polyhedron.
static double expr_range_width (const Polyhedron *pol, const ::Value *r1, const ::Value *r2, double rmax=-1)
 Infer the largest r such that c_1 x + alpha_1 =_r c_2 x + alpha_2 over a polyhedron with r <= rmax.
static double expr_range_width (const Polyhedron *pol, const ::Value *row, double rmax=-1)
 Returns the largest r such that c x + alpha =_r 0 over a polyhedron with r <= rmax.
::Value inner (const ::Value *r1, const ::Value *r2, size_t n)
 Compute inner product of two vectors.
static double range_width (Param_Vertices *PV, Param_Domain *PD, size_t idx, double rmax=-1)
 Infer the variability range of a variable in a parameterized polyhedron.
static double range_width (Polyhedron *Pol, size_t idx, double rmax=-1)
 Returns the variability range of a variable in a polyhedron.
static bool range_width_check (Param_Vertices *PV, Param_Domain *PD, size_t idx, const ::Value *rowe)
 Check the variability range of a parametric typed variable in a parameterized polyhedron.
static bool row_equal (::Value *r1,::Value *r2, size_t d)
 Compare two rows.
static void swap_pol_dim (Polyhedron *Pol, size_t d1, size_t d2)
 Swap dimensions in a polyhedron.


Detailed Description

Utility methods for (parameterized) polyhedra.

Member Function Documentation

static bool util::poly_util::expr_equal ( const Polyhedron *  pol,
const ::Value *  row 
) [inline, static]

Check if c x = alpha over a polyhedron.

static bool util::poly_util::expr_gt ( const Polyhedron *  pol,
const ::Value *  row 
) [inline, static]

Check if c x + alpha_1 >= 0 over a polyhedron.

static bool util::poly_util::expr_lt_r ( const Polyhedron *  pol,
const ::Value *  r1,
const ::Value *  r2,
const ::Value *  re 
) [inline, static]

Check if c_1 x + alpha_1 <=_e c_2 x + alpha_2 over a polyhedron.

static double util::poly_util::expr_range_width ( const Polyhedron *  pol,
const ::Value *  r1,
const ::Value *  r2,
double  rmax = -1 
) [inline, static]

Infer the largest r such that c_1 x + alpha_1 =_r c_2 x + alpha_2 over a polyhedron with r <= rmax.

Returns -1 if there is some r > rmax.

static double util::poly_util::expr_range_width ( const Polyhedron *  pol,
const ::Value *  row,
double  rmax = -1 
) [inline, static]

Returns the largest r such that c x + alpha =_r 0 over a polyhedron with r <= rmax.

Returns -1 if there is some r > rmax.

::Value util::poly_util::inner ( const ::Value *  r1,
const ::Value *  r2,
size_t  n 
) [inline, static]

Compute inner product of two vectors.

static double util::poly_util::range_width ( Param_Vertices *  PV,
Param_Domain *  PD,
size_t  idx,
double  rmax = -1 
) [inline, static]

Infer the variability range of a variable in a parameterized polyhedron.

static double util::poly_util::range_width ( Polyhedron *  Pol,
size_t  idx,
double  rmax = -1 
) [inline, static]

Returns the variability range of a variable in a polyhedron.

Returns -1 if range is infinity or greater than maxr.

static bool util::poly_util::range_width_check ( Param_Vertices *  PV,
Param_Domain *  PD,
size_t  idx,
const ::Value *  rowe 
) [inline, static]

Check the variability range of a parametric typed variable in a parameterized polyhedron.

static bool util::poly_util::row_equal ( ::Value *  r1,
::Value *  r2,
size_t  d 
) [inline, static]

Compare two rows.

static void util::poly_util::swap_pol_dim ( Polyhedron *  Pol,
size_t  d1,
size_t  d2 
) [inline, static]

Swap dimensions in a polyhedron.


The documentation for this class was generated from the following file:
Generated on Sun Nov 23 14:52:47 2008 for Typing linear constraints by  doxygen 1.5.4