24 #ifndef PPL_Scalar_Products_inlines_hh
25 #define PPL_Scalar_Products_inlines_hh 1
128 : sps_fp(c.is_necessarily_closed()
136 : sps_fp(g.is_necessarily_closed()
163 #endif // !defined(PPL_Scalar_Products_inlines_hh)
static int homogeneous_sign(const Linear_Expression &x, const Linear_Expression &y)
Returns the sign of the homogeneous scalar product of x and y, where the inhomogeneous terms are igno...
A linear equality or inequality.
int(*const SPS_type)(const Linear_Expression &, const Linear_Expression &)
The type of the scalar product sign function pointer.
bool is_necessarily_closed() const
Returns true if and only if the topology of *this row is necessarily closed.
int operator()(const Constraint &, const Generator &) const
Computes the (topology adjusted) scalar product sign of c and g.
A line, ray, point or closure point.
Linear_Expression expr
The linear expression encoding *this.
#define PPL_DIRTY_TEMP_COEFFICIENT(id)
Declare a local variable named id, of type Coefficient, and containing an unknown initial value...
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
static void reduced_assign(Coefficient &z, const Linear_Expression &x, const Linear_Expression &y)
Computes the reduced scalar product of x and y, where the coefficient of x is ignored, and assigns the result to z.
Topology_Adjusted_Scalar_Product_Sign(const Constraint &c)
Constructs the function object according to the topology of c.
static int reduced_sign(const Linear_Expression &x, const Linear_Expression &y)
Returns the sign of the reduced scalar product of x and y, where the coefficient of x is ignored...
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
PPL_COEFFICIENT_TYPE Coefficient
An alias for easily naming the type of PPL coefficients.
The entire library is confined to this namespace.
int sgn(Boundary_Type type, const T &x, const Info &info)
static void homogeneous_assign(Coefficient &z, const Linear_Expression &x, const Linear_Expression &y)
Computes the homogeneous scalar product of x and y, where the inhomogeneous terms are ignored...
static int sign(const Linear_Expression &x, const Linear_Expression &y)
Returns the sign of the scalar product between x and y.
bool is_necessarily_closed() const
Returns true if and only if the topology of *this row is necessarily closed.
static void assign(Coefficient &z, const Linear_Expression &x, const Linear_Expression &y)
Computes the scalar product of x and y and assigns it to z.
SPS_type sps_fp
The scalar product sign function pointer.
A grid line, parameter or grid point.
A class implementing various scalar product functions.