24 #ifndef PPL_Scalar_Products_defs_hh
25 #define PPL_Scalar_Products_defs_hh 1
35 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
43 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
197 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
200 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
218 const Linear_Expression&);
227 #endif // !defined(PPL_Scalar_Products_defs_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...
Scalar product sign function object depending on topology.
A linear equality or inequality.
int(*const SPS_type)(const Linear_Expression &, const Linear_Expression &)
The type of the scalar product sign function pointer.
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.
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...
From bool Type Type Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir Rounding_Dir unsigned int
PPL_COEFFICIENT_TYPE Coefficient
An alias for easily naming the type of PPL coefficients.
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.
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.