#include <util.h>
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. |
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.