PPL  1.2
Parma_Polyhedra_Library::Scalar_Products Class Reference

A class implementing various scalar product functions. More...

#include <Scalar_Products_defs.hh>

Static Public Member Functions

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. More...
 
static void assign (Coefficient &z, const Constraint &c, const Generator &g)
 Computes the scalar product of c and g and assigns it to z. More...
 
static void assign (Coefficient &z, const Generator &g, const Constraint &c)
 Computes the scalar product of g and c and assigns it to z. More...
 
static void assign (Coefficient &z, const Constraint &c, const Grid_Generator &gg)
 Computes the scalar product of c and g and assigns it to z. More...
 
static void assign (Coefficient &z, const Grid_Generator &gg, const Congruence &cg)
 Computes the scalar product of g and cg and assigns it to z. More...
 
static void assign (Coefficient &z, const Congruence &cg, const Grid_Generator &gg)
 Computes the scalar product of cg and g and assigns it to z. More...
 
static int sign (const Linear_Expression &x, const Linear_Expression &y)
 Returns the sign of the scalar product between x and y. More...
 
static int sign (const Constraint &c, const Generator &g)
 Returns the sign of the scalar product between c and g. More...
 
static int sign (const Generator &g, const Constraint &c)
 Returns the sign of the scalar product between g and c. More...
 
static int sign (const Constraint &c, const Grid_Generator &g)
 Returns the sign of the scalar product between c and g. More...
 
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 $\epsilon$ coefficient of x is ignored, and assigns the result to z. More...
 
static void reduced_assign (Coefficient &z, const Constraint &c, const Generator &g)
 Computes the reduced scalar product of c and g, where the $\epsilon$ coefficient of c is ignored, and assigns the result to z. More...
 
static void reduced_assign (Coefficient &z, const Generator &g, const Constraint &c)
 Computes the reduced scalar product of g and c, where the $\epsilon$ coefficient of g is ignored, and assigns the result to z. More...
 
static void reduced_assign (Coefficient &z, const Grid_Generator &gg, const Congruence &cg)
 Computes the reduced scalar product of g and cg, where the $\epsilon$ coefficient of g is ignored, and assigns the result to z. More...
 
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 $\epsilon$ coefficient of x is ignored. More...
 
static int reduced_sign (const Constraint &c, const Generator &g)
 Returns the sign of the reduced scalar product of c and g, where the $\epsilon$ coefficient of c is ignored. More...
 
static int reduced_sign (const Generator &g, const Constraint &c)
 Returns the sign of the reduced scalar product of g and c, where the $\epsilon$ coefficient of g is ignored. More...
 
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, and assigns the result to z. More...
 
static void homogeneous_assign (Coefficient &z, const Linear_Expression &e, const Generator &g)
 Computes the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored, and assigns the result to z. More...
 
static void homogeneous_assign (Coefficient &z, const Grid_Generator &gg, const Constraint &c)
 Computes the homogeneous scalar product of gg and c, where the inhomogeneous terms are ignored, and assigns the result to z. More...
 
static void homogeneous_assign (Coefficient &z, const Grid_Generator &gg, const Congruence &cg)
 Computes the homogeneous scalar product of g and cg, where the inhomogeneous terms are ignored, and assigns the result to z. More...
 
static void homogeneous_assign (Coefficient &z, const Linear_Expression &e, const Grid_Generator &g)
 Computes the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored, and assigns the result to z. More...
 
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 ignored. More...
 
static int homogeneous_sign (const Linear_Expression &e, const Generator &g)
 Returns the sign of the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored. More...
 
static int homogeneous_sign (const Linear_Expression &e, const Grid_Generator &g)
 Returns the sign of the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored,. More...
 
static int homogeneous_sign (const Grid_Generator &g, const Constraint &c)
 Returns the sign of the homogeneous scalar product of g and c, where the inhomogeneous terms are ignored,. More...
 

Detailed Description

A class implementing various scalar product functions.

When computing the scalar product of (Linear_Expression or Constraint or Generator) objects x and y, it is assumed that the space dimension of the first object x is less than or equal to the space dimension of the second object y.

Definition at line 44 of file Scalar_Products_defs.hh.

Member Function Documentation

void Parma_Polyhedra_Library::Scalar_Products::assign ( Coefficient z,
const Constraint c,
const Generator g 
)
static

Computes the scalar product of c and g and assigns it to z.

Definition at line 39 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Boundary_NS::assign(), Parma_Polyhedra_Library::Constraint::expr, and Parma_Polyhedra_Library::Generator::expr.

40  {
41  assign(z, c.expr, g.expr);
42 }
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.
Coefficient c
Definition: PIP_Tree.cc:64
void Parma_Polyhedra_Library::Scalar_Products::assign ( Coefficient z,
const Generator g,
const Constraint c 
)
static

Computes the scalar product of g and c and assigns it to z.

Definition at line 45 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Boundary_NS::assign(), Parma_Polyhedra_Library::Constraint::expr, and Parma_Polyhedra_Library::Generator::expr.

46  {
47  assign(z, g.expr, c.expr);
48 }
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.
Coefficient c
Definition: PIP_Tree.cc:64
void Parma_Polyhedra_Library::Scalar_Products::assign ( Coefficient z,
const Constraint c,
const Grid_Generator gg 
)
static

Computes the scalar product of c and g and assigns it to z.

Definition at line 57 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Boundary_NS::assign(), Parma_Polyhedra_Library::Constraint::expr, and Parma_Polyhedra_Library::Grid_Generator::expr.

59  {
60  assign(z, c.expr, gg.expr);
61 }
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.
Coefficient c
Definition: PIP_Tree.cc:64
void Parma_Polyhedra_Library::Scalar_Products::assign ( Coefficient z,
const Grid_Generator gg,
const Congruence cg 
)
static

Computes the scalar product of g and cg and assigns it to z.

Definition at line 51 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Congruence::expr, Parma_Polyhedra_Library::Grid_Generator::expr, Parma_Polyhedra_Library::Linear_Expression::scalar_product_assign(), and Parma_Polyhedra_Library::Grid_Generator::space_dimension().

52  {
53  gg.expr.scalar_product_assign(z, cg.expr, 0, gg.space_dimension() + 1);
54 }
void Parma_Polyhedra_Library::Scalar_Products::assign ( Coefficient z,
const Congruence cg,
const Grid_Generator gg 
)
static

Computes the scalar product of cg and g and assigns it to z.

Definition at line 64 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Congruence::expr, Parma_Polyhedra_Library::Grid_Generator::expr, Parma_Polyhedra_Library::Linear_Expression::scalar_product_assign(), Parma_Polyhedra_Library::Congruence::space_dimension(), and Parma_Polyhedra_Library::Grid_Generator::space_dimension().

65  {
66  // Scalar product is only defined if `cg' and `gg' are
67  // dimension-compatible.
68  PPL_ASSERT(cg.space_dimension() <= gg.space_dimension());
69  cg.expr.scalar_product_assign(z, gg.expr);
70 }
void Parma_Polyhedra_Library::Scalar_Products::homogeneous_assign ( Coefficient z,
const Linear_Expression x,
const Linear_Expression y 
)
static

Computes the homogeneous scalar product of x and y, where the inhomogeneous terms are ignored, and assigns the result to z.

Definition at line 93 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Linear_Expression::scalar_product_assign(), and Parma_Polyhedra_Library::Linear_Expression::space_dimension().

Referenced by Parma_Polyhedra_Library::Polyhedron::frequency(), Parma_Polyhedra_Library::Grid::frequency_no_check(), homogeneous_assign(), homogeneous_sign(), Parma_Polyhedra_Library::Grid::max_min(), and Parma_Polyhedra_Library::Polyhedron::max_min().

95  {
96  // Scalar product is only defined if `x' and `y' are
97  // dimension-compatible.
98  PPL_ASSERT(x.space_dimension() <= y.space_dimension());
99  x.scalar_product_assign(z, y, 1, x.space_dimension() + 1);
100 }
void Parma_Polyhedra_Library::Scalar_Products::homogeneous_assign ( Coefficient z,
const Linear_Expression e,
const Generator g 
)
inlinestatic

Computes the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored, and assigns the result to z.

Definition at line 92 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Generator::expr, and homogeneous_assign().

94  {
95  homogeneous_assign(z, e, g.expr);
96 }
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...
void Parma_Polyhedra_Library::Scalar_Products::homogeneous_assign ( Coefficient z,
const Grid_Generator gg,
const Constraint c 
)
static

Computes the homogeneous scalar product of gg and c, where the inhomogeneous terms are ignored, and assigns the result to z.

Definition at line 113 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Constraint::expr, Parma_Polyhedra_Library::Grid_Generator::expr, Parma_Polyhedra_Library::Linear_Expression::scalar_product_assign(), Parma_Polyhedra_Library::Constraint::space_dimension(), and Parma_Polyhedra_Library::Grid_Generator::space_dimension().

115  {
116  // Scalar product is only defined if `gg' and `c' are
117  // dimension-compatible.
118  PPL_ASSERT(gg.space_dimension() <= c.space_dimension());
119  gg.expr.scalar_product_assign(z, c.expr, 1, gg.space_dimension() + 1);
120 }
Coefficient c
Definition: PIP_Tree.cc:64
void Parma_Polyhedra_Library::Scalar_Products::homogeneous_assign ( Coefficient z,
const Grid_Generator gg,
const Congruence cg 
)
static

Computes the homogeneous scalar product of g and cg, where the inhomogeneous terms are ignored, and assigns the result to z.

Definition at line 103 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Congruence::expr, Parma_Polyhedra_Library::Grid_Generator::expr, Parma_Polyhedra_Library::Linear_Expression::scalar_product_assign(), Parma_Polyhedra_Library::Congruence::space_dimension(), and Parma_Polyhedra_Library::Grid_Generator::space_dimension().

105  {
106  // Scalar product is only defined if `gg' and `cg' are
107  // dimension-compatible.
108  PPL_ASSERT(gg.space_dimension() <= cg.space_dimension());
109  gg.expr.scalar_product_assign(z, cg.expr, 1, gg.space_dimension() + 1);
110 }
void Parma_Polyhedra_Library::Scalar_Products::homogeneous_assign ( Coefficient z,
const Linear_Expression e,
const Grid_Generator g 
)
inlinestatic

Computes the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored, and assigns the result to z.

Definition at line 99 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Grid_Generator::expr, and homogeneous_assign().

101  {
102  homogeneous_assign(z, e, g.expr);
103 }
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...
int Parma_Polyhedra_Library::Scalar_Products::homogeneous_sign ( const Linear_Expression x,
const Linear_Expression y 
)
inlinestatic

Returns the sign of the homogeneous scalar product of x and y, where the inhomogeneous terms are ignored.

Definition at line 51 of file Scalar_Products_inlines.hh.

References homogeneous_assign(), PPL_DIRTY_TEMP_COEFFICIENT, and Parma_Polyhedra_Library::Boundary_NS::sgn().

Referenced by Parma_Polyhedra_Library::Polyhedron::bounds(), Parma_Polyhedra_Library::Grid::bounds_no_check(), and homogeneous_sign().

52  {
54  homogeneous_assign(z, x, y);
55  return sgn(z);
56 }
#define PPL_DIRTY_TEMP_COEFFICIENT(id)
Declare a local variable named id, of type Coefficient, and containing an unknown initial value...
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...
int Parma_Polyhedra_Library::Scalar_Products::homogeneous_sign ( const Linear_Expression e,
const Generator g 
)
inlinestatic

Returns the sign of the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored.

Definition at line 106 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Generator::expr, and homogeneous_sign().

107  {
108  return homogeneous_sign(e, g.expr);
109 }
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...
int Parma_Polyhedra_Library::Scalar_Products::homogeneous_sign ( const Linear_Expression e,
const Grid_Generator g 
)
inlinestatic

Returns the sign of the homogeneous scalar product of e and g, where the inhomogeneous terms are ignored,.

Definition at line 112 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Grid_Generator::expr, and homogeneous_sign().

113  {
114  return homogeneous_sign(e, g.expr);
115 }
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...
int Parma_Polyhedra_Library::Scalar_Products::homogeneous_sign ( const Grid_Generator g,
const Constraint c 
)
inlinestatic

Returns the sign of the homogeneous scalar product of g and c, where the inhomogeneous terms are ignored,.

Definition at line 118 of file Scalar_Products_inlines.hh.

References homogeneous_assign(), PPL_DIRTY_TEMP_COEFFICIENT, and Parma_Polyhedra_Library::Boundary_NS::sgn().

119  {
121  homogeneous_assign(z, g, c);
122  return sgn(z);
123 }
#define PPL_DIRTY_TEMP_COEFFICIENT(id)
Declare a local variable named id, of type Coefficient, and containing an unknown initial value...
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...
Coefficient c
Definition: PIP_Tree.cc:64
void Parma_Polyhedra_Library::Scalar_Products::reduced_assign ( Coefficient z,
const Linear_Expression x,
const Linear_Expression y 
)
static

Computes the reduced scalar product of x and y, where the $\epsilon$ coefficient of x is ignored, and assigns the result to z.

Definition at line 73 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Linear_Expression::scalar_product_assign(), and Parma_Polyhedra_Library::Linear_Expression::space_dimension().

Referenced by reduced_sign().

75  {
76  // The reduced scalar product is only defined
77  // if `y' has enough coefficients.
78  PPL_ASSERT(x.space_dimension() - 1 <= y.space_dimension());
79  x.scalar_product_assign(z, y, 0, x.space_dimension());
80 }
static void Parma_Polyhedra_Library::Scalar_Products::reduced_assign ( Coefficient z,
const Constraint c,
const Generator g 
)
static

Computes the reduced scalar product of c and g, where the $\epsilon$ coefficient of c is ignored, and assigns the result to z.

static void Parma_Polyhedra_Library::Scalar_Products::reduced_assign ( Coefficient z,
const Generator g,
const Constraint c 
)
static

Computes the reduced scalar product of g and c, where the $\epsilon$ coefficient of g is ignored, and assigns the result to z.

void Parma_Polyhedra_Library::Scalar_Products::reduced_assign ( Coefficient z,
const Grid_Generator gg,
const Congruence cg 
)
static

Computes the reduced scalar product of g and cg, where the $\epsilon$ coefficient of g is ignored, and assigns the result to z.

Definition at line 83 of file Scalar_Products.cc.

References Parma_Polyhedra_Library::Congruence::expr, Parma_Polyhedra_Library::Grid_Generator::expr, Parma_Polyhedra_Library::Linear_Expression::scalar_product_assign(), Parma_Polyhedra_Library::Congruence::space_dimension(), and Parma_Polyhedra_Library::Grid_Generator::space_dimension().

85  {
86  // The reduced scalar product is only defined
87  // if `cg' has enough coefficients.
88  PPL_ASSERT(gg.space_dimension() <= cg.space_dimension());
89  gg.expr.scalar_product_assign(z, cg.expr, 0, gg.space_dimension());
90 }
int Parma_Polyhedra_Library::Scalar_Products::reduced_sign ( const Linear_Expression x,
const Linear_Expression y 
)
inlinestatic

Returns the sign of the reduced scalar product of x and y, where the $\epsilon$ coefficient of x is ignored.

Definition at line 43 of file Scalar_Products_inlines.hh.

References PPL_DIRTY_TEMP_COEFFICIENT, reduced_assign(), and Parma_Polyhedra_Library::Boundary_NS::sgn().

Referenced by Parma_Polyhedra_Library::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(), Parma_Polyhedra_Library::Polyhedron::is_included_in(), Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::operator()(), reduced_sign(), Parma_Polyhedra_Library::Generator_System::relation_with(), and Parma_Polyhedra_Library::Grid::relation_with().

44  {
46  reduced_assign(z, x, y);
47  return sgn(z);
48 }
#define PPL_DIRTY_TEMP_COEFFICIENT(id)
Declare a local variable named id, of type Coefficient, and containing an unknown initial value...
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.
int sgn(Boundary_Type type, const T &x, const Info &info)
int Parma_Polyhedra_Library::Scalar_Products::reduced_sign ( const Constraint c,
const Generator g 
)
inlinestatic

Returns the sign of the reduced scalar product of c and g, where the $\epsilon$ coefficient of c is ignored.

Definition at line 76 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Constraint::expr, Parma_Polyhedra_Library::Generator::expr, Parma_Polyhedra_Library::Constraint::is_necessarily_closed(), and reduced_sign().

76  {
77  // The reduced scalar product is only defined if the topology of `c' is
78  // NNC.
79  PPL_ASSERT(!c.is_necessarily_closed());
80  return reduced_sign(c.expr, g.expr);
81 }
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...
Coefficient c
Definition: PIP_Tree.cc:64
int Parma_Polyhedra_Library::Scalar_Products::reduced_sign ( const Generator g,
const Constraint c 
)
inlinestatic

Returns the sign of the reduced scalar product of g and c, where the $\epsilon$ coefficient of g is ignored.

Definition at line 84 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Constraint::expr, Parma_Polyhedra_Library::Generator::expr, Parma_Polyhedra_Library::Constraint::is_necessarily_closed(), and reduced_sign().

84  {
85  // The reduced scalar product is only defined if the topology of `g' is
86  // NNC.
87  PPL_ASSERT(!c.is_necessarily_closed());
88  return reduced_sign(g.expr, c.expr);
89 }
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...
Coefficient c
Definition: PIP_Tree.cc:64
int Parma_Polyhedra_Library::Scalar_Products::sign ( const Linear_Expression x,
const Linear_Expression y 
)
inlinestatic

Returns the sign of the scalar product between x and y.

Definition at line 36 of file Scalar_Products_inlines.hh.

References assign(), PPL_DIRTY_TEMP_COEFFICIENT, and Parma_Polyhedra_Library::Boundary_NS::sgn().

Referenced by Parma_Polyhedra_Library::Polyhedron::BHRZ03_combining_constraints(), Parma_Polyhedra_Library::Polyhedron::is_included_in(), Parma_Polyhedra_Library::MIP_Problem::is_satisfied(), Parma_Polyhedra_Library::MIP_Problem::is_saturated(), Parma_Polyhedra_Library::Polyhedron::OK(), Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign::operator()(), Parma_Polyhedra_Library::Generator_System::relation_with(), Parma_Polyhedra_Library::Grid::relation_with(), Parma_Polyhedra_Library::Polyhedron::select_H79_constraints(), sign(), Parma_Polyhedra_Library::Polyhedron::simplify_using_context_assign(), Parma_Polyhedra_Library::Polyhedron::update_sat_c(), and Parma_Polyhedra_Library::Polyhedron::update_sat_g().

36  {
38  assign(z, x, y);
39  return sgn(z);
40 }
#define PPL_DIRTY_TEMP_COEFFICIENT(id)
Declare a local variable named id, of type Coefficient, and containing an unknown initial value...
int sgn(Boundary_Type type, const T &x, const Info &info)
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.
int Parma_Polyhedra_Library::Scalar_Products::sign ( const Constraint c,
const Generator g 
)
inlinestatic

Returns the sign of the scalar product between c and g.

Definition at line 59 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Constraint::expr, Parma_Polyhedra_Library::Generator::expr, and sign().

59  {
60  return sign(c.expr, g.expr);
61 }
static int sign(const Linear_Expression &x, const Linear_Expression &y)
Returns the sign of the scalar product between x and y.
Coefficient c
Definition: PIP_Tree.cc:64
int Parma_Polyhedra_Library::Scalar_Products::sign ( const Generator g,
const Constraint c 
)
inlinestatic

Returns the sign of the scalar product between g and c.

Definition at line 64 of file Scalar_Products_inlines.hh.

References Parma_Polyhedra_Library::Constraint::expr, Parma_Polyhedra_Library::Generator::expr, and sign().

64  {
65  return sign(g.expr, c.expr);
66 }
static int sign(const Linear_Expression &x, const Linear_Expression &y)
Returns the sign of the scalar product between x and y.
Coefficient c
Definition: PIP_Tree.cc:64
int Parma_Polyhedra_Library::Scalar_Products::sign ( const Constraint c,
const Grid_Generator g 
)
inlinestatic

Returns the sign of the scalar product between c and g.

Definition at line 69 of file Scalar_Products_inlines.hh.

References assign(), PPL_DIRTY_TEMP_COEFFICIENT, and Parma_Polyhedra_Library::Boundary_NS::sgn().

69  {
71  assign(z, c, g);
72  return sgn(z);
73 }
#define PPL_DIRTY_TEMP_COEFFICIENT(id)
Declare a local variable named id, of type Coefficient, and containing an unknown initial value...
int sgn(Boundary_Type type, const T &x, const Info &info)
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.
Coefficient c
Definition: PIP_Tree.cc:64

The documentation for this class was generated from the following files: