Sophie

Sophie

distrib > * > cooker > x86_64 > by-pkgid > 6821ecc3db154939da2f564d5e6d1885 > files > 1075

ppl-docs-0.11.2-1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>PPL C Language Interface: ppl_Polyhedron_tag Interface Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>ppl_Polyhedron_tag Interface Reference</h1><!-- doxytag: class="ppl_Polyhedron_tag" -->
<p>Types and functions for the domains of C and NNC convex polyhedra.  
<a href="#_details">More...</a></p>

<p><a href="interfaceppl__Polyhedron__tag-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Related Functions</h2></td></tr>
<tr><td colspan="2"><p>(Note that these are not member functions.) </p>
<br/><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors and Assignment for C_Polyhedron</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpe006efc7f6ce8f60b93b9a145e41858f"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada9021952b7c7ad4ca6fc4ff082ec9fe"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_space_dimension" ref="ada9021952b7c7ad4ca6fc4ff082ec9fe" args="(ppl_Polyhedron_t *pph, ppl_dimension_type d, int empty)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ada9021952b7c7ad4ca6fc4ff082ec9fe">ppl_new_C_Polyhedron_from_space_dimension</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> d, int empty)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a C polyhedron of dimension <code>d</code> and writes an handle to it at address <code>pph</code>. If <code>empty</code> is different from zero, the newly created polyhedron will be empty; otherwise, it will be a universe polyhedron. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abedffb6a2f5b2473d2d2ac9d448c65d9"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_C_Polyhedron" ref="abedffb6a2f5b2473d2d2ac9d448c65d9" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#abedffb6a2f5b2473d2d2ac9d448c65d9">ppl_new_C_Polyhedron_from_C_Polyhedron</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a C polyhedron that is a copy of <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a418a9f96c3df4cf69bc399cd807eddeb">ppl_new_C_Polyhedron_from_C_Polyhedron_with_complexity</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, int complexity)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a C polyhedron that is a copy of <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a418a9f96c3df4cf69bc399cd807eddeb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad6512d0d60c017982bd8031e9b8df336">ppl_new_C_Polyhedron_from_Constraint_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new C polyhedron from the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#ad6512d0d60c017982bd8031e9b8df336"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ab27e9641bc6946aef6e3254d28c6fab4">ppl_new_C_Polyhedron_recycle_Constraint_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="interfaceppl__Constraint__System__tag.html">ppl_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new C polyhedron recycling the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#ab27e9641bc6946aef6e3254d28c6fab4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a703c5d92387510c5cbf8b0f1da3029b2">ppl_new_C_Polyhedron_from_Congruence_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new C polyhedron from the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a703c5d92387510c5cbf8b0f1da3029b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a9d9b8361c659cadd31afb61152ccf06b">ppl_new_C_Polyhedron_recycle_Congruence_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="interfaceppl__Congruence__System__tag.html">ppl_Congruence_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new C polyhedron recycling the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a9d9b8361c659cadd31afb61152ccf06b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd393bd3febd678f09a51a0364756787"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_assign_C_Polyhedron_from_C_Polyhedron" ref="abd393bd3febd678f09a51a0364756787" args="(ppl_Polyhedron_t dst, ppl_const_Polyhedron_t src)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#abd393bd3febd678f09a51a0364756787">ppl_assign_C_Polyhedron_from_C_Polyhedron</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> dst, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns a copy of the C polyhedron <code>src</code> to the C polyhedron <code>dst</code>. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors and Assignment for NNC_Polyhedron</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp0600ccffab12b1a2c5262ff1cca48004"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52e2499c42a9be1e527642cbfb16ff8c"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_space_dimension" ref="a52e2499c42a9be1e527642cbfb16ff8c" args="(ppl_Polyhedron_t *pph, ppl_dimension_type d, int empty)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a52e2499c42a9be1e527642cbfb16ff8c">ppl_new_NNC_Polyhedron_from_space_dimension</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> d, int empty)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds an NNC polyhedron of dimension <code>d</code> and writes an handle to it at address <code>pph</code>. If <code>empty</code> is different from zero, the newly created polyhedron will be empty; otherwise, it will be a universe polyhedron. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aebe78c4ede3d49c63765e71cfe93904e"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_NNC_Polyhedron" ref="aebe78c4ede3d49c63765e71cfe93904e" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aebe78c4ede3d49c63765e71cfe93904e">ppl_new_NNC_Polyhedron_from_NNC_Polyhedron</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds an NNC polyhedron that is a copy of <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a819d233e9b1442e06c806dea0523a2f9">ppl_new_NNC_Polyhedron_from_NNC_Polyhedron_with_complexity</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, int complexity)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds an NNC polyhedron that is a copy of <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a819d233e9b1442e06c806dea0523a2f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a304dd0846a62cb4a9f79806ea82cee5d">ppl_new_NNC_Polyhedron_from_Constraint_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new NNC polyhedron from the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a304dd0846a62cb4a9f79806ea82cee5d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#af93c7e3e554a92e8d3eeb4cf4261debd">ppl_new_NNC_Polyhedron_recycle_Constraint_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="interfaceppl__Constraint__System__tag.html">ppl_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new NNC polyhedron recycling the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#af93c7e3e554a92e8d3eeb4cf4261debd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#abf1bb44cdbf733e9ca39164f9d8e8179">ppl_new_NNC_Polyhedron_from_Congruence_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new NNC polyhedron from the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#abf1bb44cdbf733e9ca39164f9d8e8179"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a8948143df881c58c79da34380f847401">ppl_new_NNC_Polyhedron_recycle_Congruence_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="interfaceppl__Congruence__System__tag.html">ppl_Congruence_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new NNC polyhedron recycling the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a8948143df881c58c79da34380f847401"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bd806c292d0576b94d3084b21736061"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_assign_NNC_Polyhedron_from_NNC_Polyhedron" ref="a1bd806c292d0576b94d3084b21736061" args="(ppl_Polyhedron_t dst, ppl_const_Polyhedron_t src)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a1bd806c292d0576b94d3084b21736061">ppl_assign_NNC_Polyhedron_from_NNC_Polyhedron</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> dst, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns a copy of the NNC polyhedron <code>src</code> to the NNC polyhedron <code>dst</code>. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors Behaving as Conversion Operators</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp29d8576ff474f67d57ee414da36eff60"></a> Besides the conversions listed here below, the library also provides conversion operators that build a semantic geometric description starting from <b>any</b> other semantic geometric description (e.g., ppl_new_Grid_from_C_Polyhedron, ppl_new_C_Polyhedron_from_BD_Shape_mpq_class, etc.). Clearly, the conversion operators are only available if both the source and the target semantic geometric descriptions have been enabled when configuring the library. The conversions also taking as argument a complexity class sometimes provide non-trivial precision/efficiency trade-offs. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a879f2f2b0f967fa73cb59ea8d8b1d255"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_NNC_Polyhedron" ref="a879f2f2b0f967fa73cb59ea8d8b1d255" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a879f2f2b0f967fa73cb59ea8d8b1d255">ppl_new_C_Polyhedron_from_NNC_Polyhedron</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a C polyhedron that is a copy of the topological closure of the NNC polyhedron <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a8b280d026e0c343ec0d3f5521dda6376">ppl_new_C_Polyhedron_from_NNC_Polyhedron_with_complexity</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, int complexity)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a C polyhedron that approximates NNC_Polyhedron <code>ph</code>, using an algorithm whose complexity does not exceed <code>complexity</code>; writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a8b280d026e0c343ec0d3f5521dda6376"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af29cc9becde5f28a37567093174d6855"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_C_Polyhedron" ref="af29cc9becde5f28a37567093174d6855" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#af29cc9becde5f28a37567093174d6855">ppl_new_NNC_Polyhedron_from_C_Polyhedron</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds an NNC polyhedron that is a copy of the C polyhedron <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a680aecc71f3b21fa0db03c7d1cbe466b">ppl_new_NNC_Polyhedron_from_C_Polyhedron_with_complexity</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, int complexity)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds an NNC polyhedron that approximates C_Polyhedron <code>ph</code>, using an algorithm whose complexity does not exceed <code>complexity</code>; writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a680aecc71f3b21fa0db03c7d1cbe466b"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Destructor for (C or NNC) Polyhedra</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp58eb9e6d572af7867560dde4dbdf87cf"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc7cd513e31b7ecdda3a25a967d8a772"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_delete_Polyhedron" ref="adc7cd513e31b7ecdda3a25a967d8a772" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#adc7cd513e31b7ecdda3a25a967d8a772">ppl_delete_Polyhedron</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invalidates the handle <code>ph:</code> this makes sure the corresponding resources will eventually be released. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions that Do Not Modify the Polyhedron</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp7e81af68cab83a0d21bed3993f8385f3"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9947be8614cba5c2e8b02771d48fc7d2"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_space_dimension" ref="a9947be8614cba5c2e8b02771d48fc7d2" args="(ppl_const_Polyhedron_t ph, ppl_dimension_type *m)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a9947be8614cba5c2e8b02771d48fc7d2">ppl_Polyhedron_space_dimension</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> *m)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes to <code>m</code> the dimension of the vector space enclosing <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50d5c68064e215d3f2cf3ee69896e676"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_affine_dimension" ref="a50d5c68064e215d3f2cf3ee69896e676" args="(ppl_const_Polyhedron_t ph, ppl_dimension_type *m)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a50d5c68064e215d3f2cf3ee69896e676">ppl_Polyhedron_affine_dimension</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> *m)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes to <code>m</code> the affine dimension of <code>ph</code> (not to be confused with the dimension of its enclosing vector space) or 0, if <code>ph</code> is empty. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ab1d03e0aac8dda484b102c536c612a45">ppl_Polyhedron_relation_with_Constraint</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga4384ab8e17fe9415f5146ece650cf9c3">ppl_const_Constraint_t</a> c)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the relation between the polyhedron <code>ph</code> and the constraint <code>c</code>.  <a href="#ab1d03e0aac8dda484b102c536c612a45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd">ppl_Polyhedron_relation_with_Generator</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga429b479c97f57c41763a019c2dc5bf10">ppl_const_Generator_t</a> g)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the relation between the polyhedron <code>ph</code> and the generator <code>g</code>.  <a href="#a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85417db0eb420d402acee4ef0d842efc"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_get_constraints" ref="a85417db0eb420d402acee4ef0d842efc" args="(ppl_const_Polyhedron_t ph, ppl_const_Constraint_System_t *pcs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a85417db0eb420d402acee4ef0d842efc">ppl_Polyhedron_get_constraints</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> *pcs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a const handle to the constraint system defining the polyhedron <code>ph</code> at address <code>pcs</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dc649f0ee90ea5af999e3c0bae54bcb"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_get_congruences" ref="a2dc649f0ee90ea5af999e3c0bae54bcb" args="(ppl_const_Polyhedron_t ph, ppl_const_Congruence_System_t *pcs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a2dc649f0ee90ea5af999e3c0bae54bcb">ppl_Polyhedron_get_congruences</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a> *pcs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes at address <code>pcs</code> a const handle to a system of congruences approximating the polyhedron <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27fdc62bc2cae150c7d710a8e312a40d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_get_minimized_constraints" ref="a27fdc62bc2cae150c7d710a8e312a40d" args="(ppl_const_Polyhedron_t ph, ppl_const_Constraint_System_t *pcs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a27fdc62bc2cae150c7d710a8e312a40d">ppl_Polyhedron_get_minimized_constraints</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> *pcs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a const handle to the minimized constraint system defining the polyhedron <code>ph</code> at address <code>pcs</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d147411700f558d74d8273accfb8e04"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_get_minimized_congruences" ref="a6d147411700f558d74d8273accfb8e04" args="(ppl_const_Polyhedron_t ph, ppl_const_Congruence_System_t *pcs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a6d147411700f558d74d8273accfb8e04">ppl_Polyhedron_get_minimized_congruences</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a> *pcs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes at address <code>pcs</code> a const handle to a system of minimized congruences approximating the polyhedron <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b5f126aef2ca062b034f795f6e5cf6d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_is_empty" ref="a4b5f126aef2ca062b034f795f6e5cf6d" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a4b5f126aef2ca062b034f795f6e5cf6d">ppl_Polyhedron_is_empty</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is empty; returns 0 if <code>ph</code> is not empty. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a357ddb19493a385970c56bf4847a07a1"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_is_universe" ref="a357ddb19493a385970c56bf4847a07a1" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a357ddb19493a385970c56bf4847a07a1">ppl_Polyhedron_is_universe</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is a universe polyhedron; returns 0 if it is not. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4f7535037080c7f5db32b2e85fdc80d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_is_bounded" ref="ab4f7535037080c7f5db32b2e85fdc80d" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ab4f7535037080c7f5db32b2e85fdc80d">ppl_Polyhedron_is_bounded</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is bounded; returns 0 if <code>ph</code> is unbounded. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e5f40dfc278c52da81291b30fbe75f7"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_contains_integer_point" ref="a9e5f40dfc278c52da81291b30fbe75f7" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a9e5f40dfc278c52da81291b30fbe75f7">ppl_Polyhedron_contains_integer_point</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> contains at least one integer point; returns 0 otherwise. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39ee8e60c1d4d6faa40986d8fba28d5d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_is_topologically_closed" ref="a39ee8e60c1d4d6faa40986d8fba28d5d" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a39ee8e60c1d4d6faa40986d8fba28d5d">ppl_Polyhedron_is_topologically_closed</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is topologically closed; returns 0 if <code>ph</code> is not topologically closed. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a141c3283de2a46f2fcb278dcdca0558f"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_is_discrete" ref="a141c3283de2a46f2fcb278dcdca0558f" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a141c3283de2a46f2fcb278dcdca0558f">ppl_Polyhedron_is_discrete</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is a discrete set; returns 0 if <code>ph</code> is not a discrete set. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1e938f0c844231dfe2098ab8fbca67b"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_constrains" ref="ae1e938f0c844231dfe2098ab8fbca67b" args="(ppl_Polyhedron_t ph, ppl_dimension_type var)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ae1e938f0c844231dfe2098ab8fbca67b">ppl_Polyhedron_constrains</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> constrains <code>var</code>; returns 0 if <code>ph</code> does not constrain <code>var</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab32d3b44994fefe43c44e353a47cb4a4"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounds_from_above" ref="ab32d3b44994fefe43c44e353a47cb4a4" args="(ppl_const_Polyhedron_t ph, ppl_const_Linear_Expression_t le)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ab32d3b44994fefe43c44e353a47cb4a4">ppl_Polyhedron_bounds_from_above</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>le</code> is bounded from above in <code>ph</code>; returns 0 otherwise. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7135823ecf68cedd5236d53e2b5541f5"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounds_from_below" ref="a7135823ecf68cedd5236d53e2b5541f5" args="(ppl_const_Polyhedron_t ph, ppl_const_Linear_Expression_t le)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a7135823ecf68cedd5236d53e2b5541f5">ppl_Polyhedron_bounds_from_below</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>le</code> is bounded from below in <code>ph</code>; returns 0 otherwise. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a93cee014592562084126f06fe47efbba">ppl_Polyhedron_maximize_with_point</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> sup_n, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> sup_d, int *pmaximum, <a class="el" href="interfaceppl__Generator__tag.html">ppl_Generator_t</a> point)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is not empty and <code>le</code> is bounded from above in <code>ph</code>, in which case the supremum value and a point where <code>le</code> reaches it are computed.  <a href="#a93cee014592562084126f06fe47efbba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dd00b705631c579994677fea3a86d63"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_maximize" ref="a1dd00b705631c579994677fea3a86d63" args="(ppl_const_Polyhedron_t ph, ppl_const_Linear_Expression_t le, ppl_Coefficient_t sup_n, ppl_Coefficient_t sup_d, int *pmaximum)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a1dd00b705631c579994677fea3a86d63">ppl_Polyhedron_maximize</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> sup_n, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> sup_d, int *pmaximum)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The same as ppl_Polyhedron_maximize_with_point, but without the output argument for the location where the supremum value is reached. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a0e494452cce5a8916f4fe97a1c79e237">ppl_Polyhedron_minimize_with_point</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> inf_n, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> inf_d, int *pminimum, <a class="el" href="interfaceppl__Generator__tag.html">ppl_Generator_t</a> point)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is not empty and <code>le</code> is bounded from below in <code>ph</code>, in which case the infimum value and a point where <code>le</code> reaches it are computed.  <a href="#a0e494452cce5a8916f4fe97a1c79e237"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee4d567631589e83063cfb8f80c2bd6f"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_minimize_with_point" ref="aee4d567631589e83063cfb8f80c2bd6f" args="(ppl_const_Polyhedron_t ph, ppl_const_Linear_Expression_t le, ppl_Coefficient_t inf_n, ppl_Coefficient_t inf_d, int *pminimum)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aee4d567631589e83063cfb8f80c2bd6f">ppl_Polyhedron_minimize_with_point</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> inf_n, <a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a> inf_d, int *pminimum)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The same as ppl_Polyhedron_minimize_with_point, but without the output argument for the location where the infimum value is reached. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a6342bc4e04c1f228d210e5c363b6d4"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_contains_Polyhedron" ref="a5a6342bc4e04c1f228d210e5c363b6d4" args="(ppl_const_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a5a6342bc4e04c1f228d210e5c363b6d4">ppl_Polyhedron_contains_Polyhedron</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>x</code> contains or is equal to <code>y</code>; returns 0 if it does not. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcf3ccb8e2e224496d1326e47e15fdc6"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_strictly_contains_Polyhedron" ref="abcf3ccb8e2e224496d1326e47e15fdc6" args="(ppl_const_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#abcf3ccb8e2e224496d1326e47e15fdc6">ppl_Polyhedron_strictly_contains_Polyhedron</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>x</code> strictly contains <code>y</code>; returns 0 if it does not. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa309e957fa5f404b296e2e4c30e1697d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_is_disjoint_from_Polyhedron" ref="aa309e957fa5f404b296e2e4c30e1697d" args="(ppl_const_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aa309e957fa5f404b296e2e4c30e1697d">ppl_Polyhedron_is_disjoint_from_Polyhedron</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>x</code> and <code>y</code> are disjoint; returns 0 if they are not. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#af777de5ca96f8d1631d3500008bf84f8">ppl_Polyhedron_equals_Polyhedron</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>x</code> and <code>y</code> are the same polyhedron; returns 0 if they are different.  <a href="#af777de5ca96f8d1631d3500008bf84f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af98013213e01ca8514b6dbd20116af4d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_OK" ref="af98013213e01ca8514b6dbd20116af4d" args="(ppl_const_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#af98013213e01ca8514b6dbd20116af4d">ppl_Polyhedron_OK</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a positive integer if <code>ph</code> is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if <code>ph</code> is broken. Useful for debugging purposes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e07a3e1a6e6c9f281227b4e215a3dc7"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_external_memory_in_bytes" ref="a3e07a3e1a6e6c9f281227b4e215a3dc7" args="(ppl_const_Polyhedron_t ph, size_t *sz)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a3e07a3e1a6e6c9f281227b4e215a3dc7">ppl_Polyhedron_external_memory_in_bytes</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, size_t *sz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes to <code>sz</code> a lower bound to the size in bytes of the memory managed by <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01daecb5bf8e498e7d539d7f3ba8496e"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_total_memory_in_bytes" ref="a01daecb5bf8e498e7d539d7f3ba8496e" args="(ppl_const_Polyhedron_t ph, size_t *sz)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a01daecb5bf8e498e7d539d7f3ba8496e">ppl_Polyhedron_total_memory_in_bytes</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, size_t *sz)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes to <code>sz</code> a lower bound to the size in bytes of the memory managed by <code>ph</code>. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Space Dimension Preserving Functions that May Modify the Polyhedron</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpbd1a56604104c06e32495ea8de1fa94a"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a9b061c4408ab8d70a1dea91a6ff983"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_constraint" ref="a5a9b061c4408ab8d70a1dea91a6ff983" args="(ppl_Polyhedron_t ph, ppl_const_Constraint_t c)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a5a9b061c4408ab8d70a1dea91a6ff983">ppl_Polyhedron_add_constraint</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga4384ab8e17fe9415f5146ece650cf9c3">ppl_const_Constraint_t</a> c)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a copy of the constraint <code>c</code> to the system of constraints of <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a191744753f79b939c8d61efe45778bd8"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_congruence" ref="a191744753f79b939c8d61efe45778bd8" args="(ppl_Polyhedron_t ph, ppl_const_Congruence_t c)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a191744753f79b939c8d61efe45778bd8">ppl_Polyhedron_add_congruence</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga3b2653e715f41511257a84f35be7fba9">ppl_const_Congruence_t</a> c)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a copy of the congruence <code>c</code> to polyhedron of <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f80d4608b0b75948b50dd862a14df66"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_constraints" ref="a2f80d4608b0b75948b50dd862a14df66" args="(ppl_Polyhedron_t ph, ppl_const_Constraint_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a2f80d4608b0b75948b50dd862a14df66">ppl_Polyhedron_add_constraints</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a copy of the system of constraints <code>cs</code> to the system of constraints of <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8abb894f6f4a673d549aa9bf7456b638"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_congruences" ref="a8abb894f6f4a673d549aa9bf7456b638" args="(ppl_Polyhedron_t ph, ppl_const_Congruence_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a8abb894f6f4a673d549aa9bf7456b638">ppl_Polyhedron_add_congruences</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a copy of the system of congruences <code>cs</code> to the polyhedron <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a89c2384471ee03156c7b414dceee8f14">ppl_Polyhedron_add_recycled_constraints</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="interfaceppl__Constraint__System__tag.html">ppl_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the system of constraints <code>cs</code> to the system of constraints of <code>ph</code>.  <a href="#a89c2384471ee03156c7b414dceee8f14"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#af818756f74f766dfb937e586565db8d6">ppl_Polyhedron_add_recycled_congruences</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="interfaceppl__Congruence__System__tag.html">ppl_Congruence_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the system of congruences <code>cs</code> to the polyhedron <code>ph</code>.  <a href="#af818756f74f766dfb937e586565db8d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad024f037803a208b74cd150eeaa5649d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_refine_with_constraint" ref="ad024f037803a208b74cd150eeaa5649d" args="(ppl_Polyhedron_t ph, ppl_const_Constraint_t c)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad024f037803a208b74cd150eeaa5649d">ppl_Polyhedron_refine_with_constraint</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga4384ab8e17fe9415f5146ece650cf9c3">ppl_const_Constraint_t</a> c)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refines <code>ph</code> using constraint <code>c</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ffc5459233ed9781c0ca910e88fa1f9"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_refine_with_congruence" ref="a8ffc5459233ed9781c0ca910e88fa1f9" args="(ppl_Polyhedron_t ph, ppl_const_Congruence_t c)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a8ffc5459233ed9781c0ca910e88fa1f9">ppl_Polyhedron_refine_with_congruence</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga3b2653e715f41511257a84f35be7fba9">ppl_const_Congruence_t</a> c)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refines <code>ph</code> using congruence <code>c</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b031bedcfb70f485bab922596bce1c8"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_refine_with_constraints" ref="a0b031bedcfb70f485bab922596bce1c8" args="(ppl_Polyhedron_t ph, ppl_const_Constraint_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a0b031bedcfb70f485bab922596bce1c8">ppl_Polyhedron_refine_with_constraints</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refines <code>ph</code> using the constraints in <code>cs</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac655ac3a494c4f92bb02d0b9294bdd85"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_refine_with_congruences" ref="ac655ac3a494c4f92bb02d0b9294bdd85" args="(ppl_Polyhedron_t ph, ppl_const_Congruence_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ac655ac3a494c4f92bb02d0b9294bdd85">ppl_Polyhedron_refine_with_congruences</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refines <code>ph</code> using the congruences in <code>cs</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af92f3c9d758e2a155a2a6faec4235741"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_intersection_assign" ref="af92f3c9d758e2a155a2a6faec4235741" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#af92f3c9d758e2a155a2a6faec4235741">ppl_Polyhedron_intersection_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intersects <code>x</code> with polyhedron <code>y</code> and assigns the result to <code>x</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a784570f6ced5461b4d82cdfefa1cb31b">ppl_Polyhedron_upper_bound_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>x</code> an upper bound of <code>x</code> and <code>y</code>.  <a href="#a784570f6ced5461b4d82cdfefa1cb31b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7918c3a73aed2529e1e57b8983264bad"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_difference_assign" ref="a7918c3a73aed2529e1e57b8983264bad" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a7918c3a73aed2529e1e57b8983264bad">ppl_Polyhedron_difference_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Same as ppl_Polyhedron_poly_difference_assign(x, y). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fb38e66323fe6cb24b32e32e66dba78"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_simplify_using_context_assign" ref="a9fb38e66323fe6cb24b32e32e66dba78" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a9fb38e66323fe6cb24b32e32e66dba78">ppl_Polyhedron_simplify_using_context_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Meet_Preserving_Simplification">meet-preserving simplification</a> of <code>x</code> with respect to context <code>y</code>. Returns a positive integer if <code>x</code> and <code>y</code> have a nonempty intersection; returns <code>0</code> if they are disjoint. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc350d1ab1c6e4da0df6bb130364af7b"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_time_elapse_assign" ref="abc350d1ab1c6e4da0df6bb130364af7b" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#abc350d1ab1c6e4da0df6bb130364af7b">ppl_Polyhedron_time_elapse_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Time_Elapse_Operator">time-elapse</a> between the polyhedra <code>x</code> and <code>y</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad69d01217b9ea1043883162d285505c"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_topological_closure_assign" ref="aad69d01217b9ea1043883162d285505c" args="(ppl_Polyhedron_t ph)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aad69d01217b9ea1043883162d285505c">ppl_Polyhedron_topological_closure_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> its topological closure. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb06752e755290368c9bb00ad14a0984"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_unconstrain_space_dimension" ref="adb06752e755290368c9bb00ad14a0984" args="(ppl_Polyhedron_t ph, ppl_dimension_type var)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#adb06752e755290368c9bb00ad14a0984">ppl_Polyhedron_unconstrain_space_dimension</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies <code>ph</code> by <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Cylindrification">unconstraining</a> the space dimension <code>var</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8402fc25b68056511cf62f1378666a88"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_unconstrain_space_dimensions" ref="a8402fc25b68056511cf62f1378666a88" args="(ppl_Polyhedron_t ph, ppl_dimension_type ds[], size_t n)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a8402fc25b68056511cf62f1378666a88">ppl_Polyhedron_unconstrain_space_dimensions</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> ds[], size_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies <code>ph</code> by <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Cylindrification">unconstraining</a> the space dimensions that are specified in the first <code>n</code> positions of the array <code>ds</code>. The presence of duplicates in <code>ds</code> is a waste but an innocuous one. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a9563155e281915a8bc2eea34ceff9cf0">ppl_Polyhedron_affine_image</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms the polyhedron <code>ph</code>, assigning an affine expression to the specified variable.  <a href="#a9563155e281915a8bc2eea34ceff9cf0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a8a9e2cf693ca3e9c464efb04071b8572">ppl_Polyhedron_affine_preimage</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transforms the polyhedron <code>ph</code>, substituting an affine expression to the specified variable.  <a href="#a8a9e2cf693ca3e9c464efb04071b8572"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad015c9afd4968005d43f233359253c5a">ppl_Polyhedron_bounded_affine_image</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> lb, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> ub, <a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> the image of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\frac{\mathrm{lb}}{\mathrm{d}} \leq \mathrm{var}' \leq \frac{\mathrm{ub}}{\mathrm{d}}$" src="form_15.png"/>.  <a href="#ad015c9afd4968005d43f233359253c5a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a6ffd595f3e1d85275962dde5f8401c7f">ppl_Polyhedron_bounded_affine_preimage</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> lb, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> ub, <a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> the preimage of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\frac{\mathrm{lb}}{\mathrm{d}} \leq \mathrm{var}' \leq \frac{\mathrm{ub}}{\mathrm{d}}$" src="form_15.png"/>.  <a href="#a6ffd595f3e1d85275962dde5f8401c7f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ac0e5d09ffe586f8ea5ec782570015c5b">ppl_Polyhedron_generalized_affine_image</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var, enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a> relsym, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> the image of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{var}' \relsym \frac{\mathrm{le}}{\mathrm{d}}$" src="form_16.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>.  <a href="#ac0e5d09ffe586f8ea5ec782570015c5b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a381b0e6e2e58df417ff578ed6d715520">ppl_Polyhedron_generalized_affine_preimage</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> var, enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a> relsym, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> le, <a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> the preimage of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{var}' \relsym \frac{\mathrm{le}}{\mathrm{d}}$" src="form_16.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>.  <a href="#a381b0e6e2e58df417ff578ed6d715520"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a46fc9d1041d5548a5f8f220af2a07028">ppl_Polyhedron_generalized_affine_image_lhs_rhs</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> lhs, enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a> relsym, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> rhs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> the image of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{lhs}' \relsym \mathrm{rhs}$" src="form_18.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>.  <a href="#a46fc9d1041d5548a5f8f220af2a07028"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a6ff56c68b449b94588ea7290d01625d5">ppl_Polyhedron_generalized_affine_preimage_lhs_rhs</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> lhs, enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a> relsym, <a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a> rhs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> the preimage of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{lhs}' \relsym \mathrm{rhs}$" src="form_18.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>.  <a href="#a6ff56c68b449b94588ea7290d01625d5"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions that May Modify the Dimension of the Vector Space</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp4472d8c76ef2a4508859a20b774d6e7a"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac06aed22fa4405051df0da9e7bc16138"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_concatenate_assign" ref="ac06aed22fa4405051df0da9e7bc16138" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ac06aed22fa4405051df0da9e7bc16138">ppl_Polyhedron_concatenate_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seeing a polyhedron as a set of tuples (its points), assigns to <code>x</code> all the tuples that can be obtained by concatenating, in the order given, a tuple of <code>x</code> with a tuple of <code>y</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add9c4afcd6f6bd78509219f32d57e348"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_space_dimensions_and_embed" ref="add9c4afcd6f6bd78509219f32d57e348" args="(ppl_Polyhedron_t ph, ppl_dimension_type d)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#add9c4afcd6f6bd78509219f32d57e348">ppl_Polyhedron_add_space_dimensions_and_embed</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds <code>d</code> new dimensions to the space enclosing the polyhedron <code>ph</code> and to <code>ph</code> itself. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90544f38c2980f308cd6e0f9248fdd99"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_space_dimensions_and_project" ref="a90544f38c2980f308cd6e0f9248fdd99" args="(ppl_Polyhedron_t ph, ppl_dimension_type d)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a90544f38c2980f308cd6e0f9248fdd99">ppl_Polyhedron_add_space_dimensions_and_project</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds <code>d</code> new dimensions to the space enclosing the polyhedron <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa48f8ae0f3a2647949417ec2da1c97e4"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_remove_space_dimensions" ref="aa48f8ae0f3a2647949417ec2da1c97e4" args="(ppl_Polyhedron_t ph, ppl_dimension_type ds[], size_t n)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aa48f8ae0f3a2647949417ec2da1c97e4">ppl_Polyhedron_remove_space_dimensions</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> ds[], size_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes from the vector space enclosing <code>ph</code> the space dimensions that are specified in first <code>n</code> positions of the array <code>ds</code>. The presence of duplicates in <code>ds</code> is a waste but an innocuous one. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a402bb86dfedf35933c2a29cc07210741"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_remove_higher_space_dimensions" ref="a402bb86dfedf35933c2a29cc07210741" args="(ppl_Polyhedron_t ph, ppl_dimension_type d)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a402bb86dfedf35933c2a29cc07210741">ppl_Polyhedron_remove_higher_space_dimensions</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the higher dimensions from the vector space enclosing <code>ph</code> so that, upon successful return, the new space dimension is <code>d</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aabb79ab0a7936b6f14cd20e15cb14fa8">ppl_Polyhedron_map_space_dimensions</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> maps[], size_t n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remaps the dimensions of the vector space according to a <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Mapping_the_Dimensions_of_the_Vector_Space">partial function</a>. This function is specified by means of the <code>maps</code> array, which has <code>n</code> entries.  <a href="#aabb79ab0a7936b6f14cd20e15cb14fa8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81cc2a565346ce8ee12124224ddd8d6c"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_expand_space_dimension" ref="a81cc2a565346ce8ee12124224ddd8d6c" args="(ppl_Polyhedron_t ph, ppl_dimension_type d, ppl_dimension_type m)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a81cc2a565346ce8ee12124224ddd8d6c">ppl_Polyhedron_expand_space_dimension</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> d, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> m)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#expand_space_dimension">Expands</a> the <img class="formulaInl" alt="$d$" src="form_19.png"/>-th dimension of the vector space enclosing <code>ph</code> to <code>m</code> new space dimensions. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6b383704ed3f314864c52f5b715cbbf"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_fold_space_dimensions" ref="ad6b383704ed3f314864c52f5b715cbbf" args="(ppl_Polyhedron_t ph, ppl_dimension_type ds[], size_t n, ppl_dimension_type d)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad6b383704ed3f314864c52f5b715cbbf">ppl_Polyhedron_fold_space_dimensions</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> ds[], size_t n, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> d)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies <code>ph</code> by <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#fold_space_dimensions">folding</a> the space dimensions contained in the first <code>n</code> positions of the array <code>ds</code> into dimension <code>d</code>. The presence of duplicates in <code>ds</code> is a waste but an innocuous one. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Input/Output Functions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpdef71db0223b2dfdd7b5c19260137729"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8a9392f205531631b3a98c332f594b1"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_io_print_Polyhedron" ref="af8a9392f205531631b3a98c332f594b1" args="(ppl_const_Polyhedron_t x)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#af8a9392f205531631b3a98c332f594b1">ppl_io_print_Polyhedron</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints <code>x</code> to <code>stdout</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad20b13c4f378bdc5aa64c3e833a62cba"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_io_fprint_Polyhedron" ref="ad20b13c4f378bdc5aa64c3e833a62cba" args="(FILE *stream, ppl_const_Polyhedron_t x)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad20b13c4f378bdc5aa64c3e833a62cba">ppl_io_fprint_Polyhedron</a> (FILE *stream, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints <code>x</code> to the given output <code>stream</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b5c73b1f3f864c8a10c39810b4711ce"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_io_asprint_Polyhedron" ref="a6b5c73b1f3f864c8a10c39810b4711ce" args="(char **strp, ppl_const_Polyhedron_t x)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a6b5c73b1f3f864c8a10c39810b4711ce">ppl_io_asprint_Polyhedron</a> (char **strp, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints <code>x</code> to a malloc-allocated string, a pointer to which is returned via <code>strp</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a658545ec6169d2843323bfe1ff078e6f"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_ascii_dump" ref="a658545ec6169d2843323bfe1ff078e6f" args="(ppl_const_Polyhedron_t x, FILE *stream)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a658545ec6169d2843323bfe1ff078e6f">ppl_Polyhedron_ascii_dump</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> x, FILE *stream)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dumps an ascii representation of <code>x</code> on <code>stream</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaffebaba13f6fc73438bdccde0966547"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_ascii_load" ref="aaffebaba13f6fc73438bdccde0966547" args="(ppl_Polyhedron_t x, FILE *stream)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aaffebaba13f6fc73438bdccde0966547">ppl_Polyhedron_ascii_load</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, FILE *stream)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads an ascii representation of <code>x</code> from <code>stream</code>. <br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Ad Hoc Functions for (C or NNC) Polyhedra</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpa8c7569c135354672b95268442cbc20a"></a> The functions listed here below, being specific of the polyhedron domains, do not have a correspondence in other semantic geometric descriptions. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad9547cb6430722246dea7f5a70566c06">ppl_new_C_Polyhedron_from_Generator_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#ga6069aff3ad06a502f746df4adec1c16c">ppl_const_Generator_System_t</a> gs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new C polyhedron from the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#ad9547cb6430722246dea7f5a70566c06"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a3bc82e8c76e1a47ecc20c85e1003036d">ppl_new_C_Polyhedron_recycle_Generator_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="interfaceppl__Generator__System__tag.html">ppl_Generator_System_t</a> gs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new C polyhedron recycling the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a3bc82e8c76e1a47ecc20c85e1003036d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a7573064b44c45d804d398aec02e7a64a">ppl_new_NNC_Polyhedron_from_Generator_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="group__Datatypes.html#ga6069aff3ad06a502f746df4adec1c16c">ppl_const_Generator_System_t</a> gs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new NNC polyhedron from the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a7573064b44c45d804d398aec02e7a64a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a0184ad10aeca27f95d249d3a7e061b46">ppl_new_NNC_Polyhedron_recycle_Generator_System</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *pph, <a class="el" href="interfaceppl__Generator__System__tag.html">ppl_Generator_System_t</a> gs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a new NNC polyhedron recycling the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>.  <a href="#a0184ad10aeca27f95d249d3a7e061b46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6137f367c0c83a73146d84c998d37cb3"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_get_generators" ref="a6137f367c0c83a73146d84c998d37cb3" args="(ppl_const_Polyhedron_t ph, ppl_const_Generator_System_t *pgs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a6137f367c0c83a73146d84c998d37cb3">ppl_Polyhedron_get_generators</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga6069aff3ad06a502f746df4adec1c16c">ppl_const_Generator_System_t</a> *pgs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a const handle to the generator system defining the polyhedron <code>ph</code> at address <code>pgs</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e7090393ee5801d9c988db6d2a06a43"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_get_minimized_generators" ref="a5e7090393ee5801d9c988db6d2a06a43" args="(ppl_const_Polyhedron_t ph, ppl_const_Generator_System_t *pgs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a5e7090393ee5801d9c988db6d2a06a43">ppl_Polyhedron_get_minimized_generators</a> (<a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga6069aff3ad06a502f746df4adec1c16c">ppl_const_Generator_System_t</a> *pgs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a const handle to the minimized generator system defining the polyhedron <code>ph</code> at address <code>pgs</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea399d3df97c711c758c8bf715e0c763"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_generator" ref="aea399d3df97c711c758c8bf715e0c763" args="(ppl_Polyhedron_t ph, ppl_const_Generator_t g)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aea399d3df97c711c758c8bf715e0c763">ppl_Polyhedron_add_generator</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga429b479c97f57c41763a019c2dc5bf10">ppl_const_Generator_t</a> g)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a copy of the generator <code>g</code> to the system of generators of <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a612142029eeee3dd72bb0d37c670d6db"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_generators" ref="a612142029eeee3dd72bb0d37c670d6db" args="(ppl_Polyhedron_t ph, ppl_const_Generator_System_t gs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a612142029eeee3dd72bb0d37c670d6db">ppl_Polyhedron_add_generators</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga6069aff3ad06a502f746df4adec1c16c">ppl_const_Generator_System_t</a> gs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a copy of the system of generators <code>gs</code> to the system of generators of <code>ph</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a841ceef027f12d5c99fc2e739ae340fb">ppl_Polyhedron_add_recycled_generators</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="interfaceppl__Generator__System__tag.html">ppl_Generator_System_t</a> gs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the system of generators <code>gs</code> to the system of generators of <code>ph</code>.  <a href="#a841ceef027f12d5c99fc2e739ae340fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad3749930a51c38886b1d5a01dbbba92"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_poly_hull_assign" ref="aad3749930a51c38886b1d5a01dbbba92" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#aad3749930a51c38886b1d5a01dbbba92">ppl_Polyhedron_poly_hull_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>x</code> the poly-hull of <code>x</code> and <code>y</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06c7c974043c12bcf349c119e73cc681"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_poly_difference_assign" ref="a06c7c974043c12bcf349c119e73cc681" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a06c7c974043c12bcf349c119e73cc681">ppl_Polyhedron_poly_difference_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Convex_Polyhedral_Difference">poly-difference</a> of <code>x</code> and <code>y</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a5eeb3bf2e0ec7e6cd38e47b53eb43423">wrap_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> ph, <a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a> ds[], size_t n, <a class="el" href="group__Datatypes.html#ga4b10979f4464f0574331e442e9025d3c">ppl_enum_Bounded_Integer_Type_Width</a> w, <a class="el" href="group__Datatypes.html#ga6b8429baa2a70746836586aad6905b64">ppl_enum_Bounded_Integer_Type_Representation</a> r, <a class="el" href="group__Datatypes.html#ga4813a2ed52eb4aeac03bde07be0ddd83">ppl_enum_Bounded_Integer_Type_Overflow</a> o, const <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> *pcs, unsigned complexity_threshold, int wrap_individually)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns to <code>ph</code> the polyhedron obtained from <code>ph</code> by "wrapping" the vector space defined by the first <code>n</code> space dimensions in <code>ds</code>[].  <a href="#a5eeb3bf2e0ec7e6cd38e47b53eb43423"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69c0a9ffd5b8910a90a91943a10fe3b6"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_BHRZ03_widening_assign_with_tokens" ref="a69c0a9ffd5b8910a90a91943a10fe3b6" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, unsigned *tp)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a69c0a9ffd5b8910a90a91943a10fe3b6">ppl_Polyhedron_BHRZ03_widening_assign_with_tokens</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, unsigned *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#BHRZ03_widening">BHRZ03-widening</a> of <code>x</code> and <code>y</code>. If <code>tp</code> is not the null pointer, the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Widening_with_Tokens">widening with tokens</a> delay technique is applied with <code>*tp</code> available tokens. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e5a2940765710cccea4ef4f1b7f1092"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_H79_widening_assign_with_tokens" ref="a1e5a2940765710cccea4ef4f1b7f1092" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, unsigned *tp)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a1e5a2940765710cccea4ef4f1b7f1092">ppl_Polyhedron_H79_widening_assign_with_tokens</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, unsigned *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#H79_widening">H79-widening</a> of <code>x</code> and <code>y</code>. If <code>tp</code> is not the null pointer, the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Widening_with_Tokens">widening with tokens</a> delay technique is applied with <code>*tp</code> available tokens. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad184bea5f8f38b87293d639d57ee340b"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_BHRZ03_widening_assign" ref="ad184bea5f8f38b87293d639d57ee340b" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad184bea5f8f38b87293d639d57ee340b">ppl_Polyhedron_BHRZ03_widening_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#BHRZ03_widening">BHRZ03-widening</a> of <code>x</code> and <code>y</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88c408677f6de73fd80903738268efa3"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_H79_widening_assign" ref="a88c408677f6de73fd80903738268efa3" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a88c408677f6de73fd80903738268efa3">ppl_Polyhedron_H79_widening_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#H79_widening">H79-widening</a> of <code>x</code> and <code>y</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a977522267df419dd5f2824ce6c0f7610"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_tokens" ref="a977522267df419dd5f2824ce6c0f7610" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs, unsigned *tp)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a977522267df419dd5f2824ce6c0f7610">ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_tokens</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs, unsigned *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#BHRZ03_widening">BHRZ03-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>. If <code>tp</code> is not the null pointer, the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Widening_with_Tokens">widening with tokens</a> delay technique is applied with <code>*tp</code> available tokens. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96eaf729b170b6df69bc2d1127f8727c"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_limited_H79_extrapolation_assign_with_tokens" ref="a96eaf729b170b6df69bc2d1127f8727c" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs, unsigned *tp)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a96eaf729b170b6df69bc2d1127f8727c">ppl_Polyhedron_limited_H79_extrapolation_assign_with_tokens</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs, unsigned *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#H79_widening">H79-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>. If <code>tp</code> is not the null pointer, the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Widening_with_Tokens">widening with tokens</a> delay technique is applied with <code>*tp</code> available tokens. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88a7c177ebe33a3d41609609660fd3ee"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_limited_BHRZ03_extrapolation_assign" ref="a88a7c177ebe33a3d41609609660fd3ee" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a88a7c177ebe33a3d41609609660fd3ee">ppl_Polyhedron_limited_BHRZ03_extrapolation_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#BHRZ03_widening">BHRZ03-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac78c1168665c72eaf8c2457b12700fba"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_limited_H79_extrapolation_assign" ref="ac78c1168665c72eaf8c2457b12700fba" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ac78c1168665c72eaf8c2457b12700fba">ppl_Polyhedron_limited_H79_extrapolation_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#H79_widening">H79-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a875b11e85fe96586152f53f498158b1f"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_tokens" ref="a875b11e85fe96586152f53f498158b1f" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs, unsigned *tp)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a875b11e85fe96586152f53f498158b1f">ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_tokens</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs, unsigned *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#BHRZ03_widening">BHRZ03-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>, further intersected with all the constraints of the form <img class="formulaInl" alt="$\pm v \leq r$" src="form_20.png"/> and <img class="formulaInl" alt="$\pm v < r$" src="form_21.png"/>, with <img class="formulaInl" alt="$r \in \Qset$" src="form_22.png"/>, that are satisfied by all the points of <code>x</code>. If <code>tp</code> is not the null pointer, the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Widening_with_Tokens">widening with tokens</a> delay technique is applied with <code>*tp</code> available tokens. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab062917f016d95800e29f87c203fd3bb"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounded_H79_extrapolation_assign_with_tokens" ref="ab062917f016d95800e29f87c203fd3bb" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs, unsigned *tp)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ab062917f016d95800e29f87c203fd3bb">ppl_Polyhedron_bounded_H79_extrapolation_assign_with_tokens</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs, unsigned *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#H79_widening">H79-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>, further intersected with all the constraints of the form <img class="formulaInl" alt="$\pm v \leq r$" src="form_20.png"/> and <img class="formulaInl" alt="$\pm v < r$" src="form_21.png"/>, with <img class="formulaInl" alt="$r \in \Qset$" src="form_22.png"/>, that are satisfied by all the points of <code>x</code>. If <code>tp</code> is not the null pointer, the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Widening_with_Tokens">widening with tokens</a> delay technique is applied with <code>*tp</code> available tokens. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5932fd0c6867d83e3a34d5e680225807"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign" ref="a5932fd0c6867d83e3a34d5e680225807" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#a5932fd0c6867d83e3a34d5e680225807">ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#BHRZ03_widening">BHRZ03-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>, further intersected with all the constraints of the form <img class="formulaInl" alt="$\pm v \leq r$" src="form_20.png"/> and <img class="formulaInl" alt="$\pm v < r$" src="form_21.png"/>, with <img class="formulaInl" alt="$r \in \Qset$" src="form_22.png"/>, that are satisfied by all the points of <code>x</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4b80df36fc02b4c47ca160420e50182"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounded_H79_extrapolation_assign" ref="ad4b80df36fc02b4c47ca160420e50182" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y, ppl_const_Constraint_System_t cs)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceppl__Polyhedron__tag.html#ad4b80df36fc02b4c47ca160420e50182">ppl_Polyhedron_bounded_H79_extrapolation_assign</a> (<a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> x, <a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a> y, <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> cs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If the polyhedron <code>y</code> is contained in (or equal to) the polyhedron <code>x</code>, assigns to <code>x</code> the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#H79_widening">H79-widening</a> of <code>x</code> and <code>y</code> intersected with the constraints in <code>cs</code> that are satisfied by all the points of <code>x</code>, further intersected with all the constraints of the form <img class="formulaInl" alt="$\pm v \leq r$" src="form_20.png"/> and <img class="formulaInl" alt="$\pm v < r$" src="form_21.png"/>, with <img class="formulaInl" alt="$r \in \Qset$" src="form_22.png"/>, that are satisfied by all the points of <code>x</code>. <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Types and functions for the domains of C and NNC convex polyhedra. </p>
<p>The types and functions for convex polyhedra provide a single interface for accessing both topologically closed (C) and not necessarily closed (NNC) convex polyhedra. The distinction between C and NNC polyhedra need only be explicitly stated when <em>creating</em> or <em>assigning</em> a polyhedron object, by means of one of the functions <code>ppl_new_*</code> and <code>ppl_assign_*</code>.</p>
<p>Having a single datatype does not mean that C and NNC polyhedra can be freely interchanged: as specified in the main manual, most library functions require their arguments to be topologically and/or space-dimension compatible. </p>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a418a9f96c3df4cf69bc399cd807eddeb"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_C_Polyhedron_with_complexity" ref="a418a9f96c3df4cf69bc399cd807eddeb" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph, int complexity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_from_C_Polyhedron_with_complexity </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>complexity</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a C polyhedron that is a copy of <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The complexity argument is ignored. </dd></dl>

</div>
</div>
<a class="anchor" id="ad6512d0d60c017982bd8031e9b8df336"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_Constraint_System" ref="ad6512d0d60c017982bd8031e9b8df336" args="(ppl_Polyhedron_t *pph, ppl_const_Constraint_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_from_Constraint_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new C polyhedron from the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>. </p>

</div>
</div>
<a class="anchor" id="ab27e9641bc6946aef6e3254d28c6fab4"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_recycle_Constraint_System" ref="ab27e9641bc6946aef6e3254d28c6fab4" args="(ppl_Polyhedron_t *pph, ppl_Constraint_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_recycle_Constraint_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Constraint__System__tag.html">ppl_Constraint_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new C polyhedron recycling the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the constraint system referenced by <code>cs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="a703c5d92387510c5cbf8b0f1da3029b2"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_Congruence_System" ref="a703c5d92387510c5cbf8b0f1da3029b2" args="(ppl_Polyhedron_t *pph, ppl_const_Congruence_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_from_Congruence_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new C polyhedron from the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>. </p>

</div>
</div>
<a class="anchor" id="a9d9b8361c659cadd31afb61152ccf06b"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_recycle_Congruence_System" ref="a9d9b8361c659cadd31afb61152ccf06b" args="(ppl_Polyhedron_t *pph, ppl_Congruence_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_recycle_Congruence_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Congruence__System__tag.html">ppl_Congruence_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new C polyhedron recycling the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the congruence system referenced by <code>cs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="a819d233e9b1442e06c806dea0523a2f9"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_NNC_Polyhedron_with_complexity" ref="a819d233e9b1442e06c806dea0523a2f9" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph, int complexity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_from_NNC_Polyhedron_with_complexity </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>complexity</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds an NNC polyhedron that is a copy of <code>ph</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The complexity argument is ignored. </dd></dl>

</div>
</div>
<a class="anchor" id="a304dd0846a62cb4a9f79806ea82cee5d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_Constraint_System" ref="a304dd0846a62cb4a9f79806ea82cee5d" args="(ppl_Polyhedron_t *pph, ppl_const_Constraint_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_from_Constraint_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new NNC polyhedron from the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>. </p>

</div>
</div>
<a class="anchor" id="af93c7e3e554a92e8d3eeb4cf4261debd"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_recycle_Constraint_System" ref="af93c7e3e554a92e8d3eeb4cf4261debd" args="(ppl_Polyhedron_t *pph, ppl_Constraint_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_recycle_Constraint_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Constraint__System__tag.html">ppl_Constraint_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new NNC polyhedron recycling the system of constraints <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the constraint system referenced by <code>cs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="abf1bb44cdbf733e9ca39164f9d8e8179"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_Congruence_System" ref="abf1bb44cdbf733e9ca39164f9d8e8179" args="(ppl_Polyhedron_t *pph, ppl_const_Congruence_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_from_Congruence_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga4aa820c3f87b201ce364e854aa37dba5">ppl_const_Congruence_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new NNC polyhedron from the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>. </p>

</div>
</div>
<a class="anchor" id="a8948143df881c58c79da34380f847401"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_recycle_Congruence_System" ref="a8948143df881c58c79da34380f847401" args="(ppl_Polyhedron_t *pph, ppl_Congruence_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_recycle_Congruence_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Congruence__System__tag.html">ppl_Congruence_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new NNC polyhedron recycling the system of congruences <code>cs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>cs</code>.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the congruence system referenced by <code>cs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="a8b280d026e0c343ec0d3f5521dda6376"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_NNC_Polyhedron_with_complexity" ref="a8b280d026e0c343ec0d3f5521dda6376" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph, int complexity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_from_NNC_Polyhedron_with_complexity </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>complexity</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a C polyhedron that approximates NNC_Polyhedron <code>ph</code>, using an algorithm whose complexity does not exceed <code>complexity</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The complexity argument, which can take values <code>PPL_COMPLEXITY_CLASS_POLYNOMIAL</code>, <code>PPL_COMPLEXITY_CLASS_SIMPLEX</code> and <code>PPL_COMPLEXITY_CLASS_ANY</code>, is ignored since the exact constructor has polynomial complexity. </dd></dl>

</div>
</div>
<a class="anchor" id="a680aecc71f3b21fa0db03c7d1cbe466b"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_C_Polyhedron_with_complexity" ref="a680aecc71f3b21fa0db03c7d1cbe466b" args="(ppl_Polyhedron_t *pph, ppl_const_Polyhedron_t ph, int complexity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_from_C_Polyhedron_with_complexity </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>complexity</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds an NNC polyhedron that approximates C_Polyhedron <code>ph</code>, using an algorithm whose complexity does not exceed <code>complexity</code>; writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The complexity argument, which can take values <code>PPL_COMPLEXITY_CLASS_POLYNOMIAL</code>, <code>PPL_COMPLEXITY_CLASS_SIMPLEX</code> and <code>PPL_COMPLEXITY_CLASS_ANY</code>, is ignored since the exact constructor has polynomial complexity. </dd></dl>

</div>
</div>
<a class="anchor" id="ab1d03e0aac8dda484b102c536c612a45"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_relation_with_Constraint" ref="ab1d03e0aac8dda484b102c536c612a45" args="(ppl_const_Polyhedron_t ph, ppl_const_Constraint_t c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_relation_with_Constraint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga4384ab8e17fe9415f5146ece650cf9c3">ppl_const_Constraint_t</a>&nbsp;</td>
          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks the relation between the polyhedron <code>ph</code> and the constraint <code>c</code>. </p>
<p>If successful, returns a non-negative integer that is obtained as the bitwise or of the bits (chosen among PPL_POLY_CON_RELATION_IS_DISJOINT PPL_POLY_CON_RELATION_STRICTLY_INTERSECTS, PPL_POLY_CON_RELATION_IS_INCLUDED, and PPL_POLY_CON_RELATION_SATURATES) that describe the relation between <code>ph</code> and <code>c</code>. </p>

</div>
</div>
<a class="anchor" id="a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_relation_with_Generator" ref="a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd" args="(ppl_const_Polyhedron_t ph, ppl_const_Generator_t g)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_relation_with_Generator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga429b479c97f57c41763a019c2dc5bf10">ppl_const_Generator_t</a>&nbsp;</td>
          <td class="paramname"> <em>g</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks the relation between the polyhedron <code>ph</code> and the generator <code>g</code>. </p>
<p>If successful, returns a non-negative integer that is obtained as the bitwise or of the bits (only PPL_POLY_GEN_RELATION_SUBSUMES, at present) that describe the relation between <code>ph</code> and <code>g</code>. </p>

</div>
</div>
<a class="anchor" id="a93cee014592562084126f06fe47efbba"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_maximize_with_point" ref="a93cee014592562084126f06fe47efbba" args="(ppl_const_Polyhedron_t ph, ppl_const_Linear_Expression_t le, ppl_Coefficient_t sup_n, ppl_Coefficient_t sup_d, int *pmaximum, ppl_Generator_t point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_maximize_with_point </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>le</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>sup_n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>sup_d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>pmaximum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Generator__tag.html">ppl_Generator_t</a>&nbsp;</td>
          <td class="paramname"> <em>point</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a positive integer if <code>ph</code> is not empty and <code>le</code> is bounded from above in <code>ph</code>, in which case the supremum value and a point where <code>le</code> reaches it are computed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron constraining <code>le</code>;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>le</em>&nbsp;</td><td>The linear expression to be maximized subject to <code>ph</code>;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sup_n</em>&nbsp;</td><td>Will be assigned the numerator of the supremum value;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sup_d</em>&nbsp;</td><td>Will be assigned the denominator of the supremum value;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pmaximum</em>&nbsp;</td><td>Will store 1 in this location if the supremum is also the maximum, will store 0 otherwise;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>point</em>&nbsp;</td><td>Will be assigned the point or closure point where <code>le</code> reaches the extremum value.</td></tr>
  </table>
  </dd>
</dl>
<p>If <code>ph</code> is empty or <code>le</code> is not bounded from above, 0 will be returned and <code>sup_n</code>, <code>sup_d</code>, <code>*pmaximum</code> and <code>point</code> will be left untouched. </p>

</div>
</div>
<a class="anchor" id="a0e494452cce5a8916f4fe97a1c79e237"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_minimize_with_point" ref="a0e494452cce5a8916f4fe97a1c79e237" args="(ppl_const_Polyhedron_t ph, ppl_const_Linear_Expression_t le, ppl_Coefficient_t inf_n, ppl_Coefficient_t inf_d, int *pminimum, ppl_Generator_t point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_minimize_with_point </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>le</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>inf_n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Coefficient__tag.html">ppl_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>inf_d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>pminimum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Generator__tag.html">ppl_Generator_t</a>&nbsp;</td>
          <td class="paramname"> <em>point</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a positive integer if <code>ph</code> is not empty and <code>le</code> is bounded from below in <code>ph</code>, in which case the infimum value and a point where <code>le</code> reaches it are computed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron constraining <code>le</code>;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>le</em>&nbsp;</td><td>The linear expression to be minimized subject to <code>ph</code>;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>inf_n</em>&nbsp;</td><td>Will be assigned the numerator of the infimum value;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>inf_d</em>&nbsp;</td><td>Will be assigned the denominator of the infimum value;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pminimum</em>&nbsp;</td><td>Will store 1 in this location if the infimum is also the minimum, will store 0 otherwise;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>point</em>&nbsp;</td><td>Will be assigned the point or closure point where <code>le</code> reaches the extremum value.</td></tr>
  </table>
  </dd>
</dl>
<p>If <code>ph</code> is empty or <code>le</code> is not bounded from below, 0 will be returned and <code>sup_n</code>, <code>sup_d</code>, <code>*pmaximum</code> and <code>point</code> will be left untouched. </p>

</div>
</div>
<a class="anchor" id="af777de5ca96f8d1631d3500008bf84f8"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_equals_Polyhedron" ref="af777de5ca96f8d1631d3500008bf84f8" args="(ppl_const_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_equals_Polyhedron </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a positive integer if <code>x</code> and <code>y</code> are the same polyhedron; returns 0 if they are different. </p>
<p>Note that <code>x</code> and <code>y</code> may be topology- and/or dimension-incompatible polyhedra: in those cases, the value 0 is returned. </p>

</div>
</div>
<a class="anchor" id="a89c2384471ee03156c7b414dceee8f14"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_recycled_constraints" ref="a89c2384471ee03156c7b414dceee8f14" args="(ppl_Polyhedron_t ph, ppl_Constraint_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_add_recycled_constraints </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Constraint__System__tag.html">ppl_Constraint_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds the system of constraints <code>cs</code> to the system of constraints of <code>ph</code>. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the constraint system referenced by <code>cs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="af818756f74f766dfb937e586565db8d6"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_recycled_congruences" ref="af818756f74f766dfb937e586565db8d6" args="(ppl_Polyhedron_t ph, ppl_Congruence_System_t cs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_add_recycled_congruences </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Congruence__System__tag.html">ppl_Congruence_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>cs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds the system of congruences <code>cs</code> to the polyhedron <code>ph</code>. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the congruence system referenced by <code>cs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="a784570f6ced5461b4d82cdfefa1cb31b"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_upper_bound_assign" ref="a784570f6ced5461b4d82cdfefa1cb31b" args="(ppl_Polyhedron_t x, ppl_const_Polyhedron_t y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_upper_bound_assign </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gabc52e1474c4b78458b4c13ddbfdc8e56">ppl_const_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>x</code> an upper bound of <code>x</code> and <code>y</code>. </p>
<p>For the domain of polyhedra, this is the same as <code>ppl_Polyhedron_poly_hull_assign(x, y)</code>. </p>

</div>
</div>
<a class="anchor" id="a9563155e281915a8bc2eea34ceff9cf0"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_affine_image" ref="a9563155e281915a8bc2eea34ceff9cf0" args="(ppl_Polyhedron_t ph, ppl_dimension_type var, ppl_const_Linear_Expression_t le, ppl_const_Coefficient_t d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_affine_image </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>le</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms the polyhedron <code>ph</code>, assigning an affine expression to the specified variable. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>The variable to which the affine expression is assigned;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>le</em>&nbsp;</td><td>The numerator of the affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The denominator of the affine expression. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8a9e2cf693ca3e9c464efb04071b8572"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_affine_preimage" ref="a8a9e2cf693ca3e9c464efb04071b8572" args="(ppl_Polyhedron_t ph, ppl_dimension_type var, ppl_const_Linear_Expression_t le, ppl_const_Coefficient_t d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_affine_preimage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>le</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transforms the polyhedron <code>ph</code>, substituting an affine expression to the specified variable. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>The variable to which the affine expression is substituted;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>le</em>&nbsp;</td><td>The numerator of the affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The denominator of the affine expression. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad015c9afd4968005d43f233359253c5a"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounded_affine_image" ref="ad015c9afd4968005d43f233359253c5a" args="(ppl_Polyhedron_t ph, ppl_dimension_type var, ppl_const_Linear_Expression_t lb, ppl_const_Linear_Expression_t ub, ppl_const_Coefficient_t d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_bounded_affine_image </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>lb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>ub</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>ph</code> the image of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\frac{\mathrm{lb}}{\mathrm{d}} \leq \mathrm{var}' \leq \frac{\mathrm{ub}}{\mathrm{d}}$" src="form_15.png"/>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>The variable bounded by the generalized affine transfer relation;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lb</em>&nbsp;</td><td>The numerator of the lower bounding affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ub</em>&nbsp;</td><td>The numerator of the upper bounding affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The (common) denominator of the lower and upper bounding affine expressions. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6ffd595f3e1d85275962dde5f8401c7f"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_bounded_affine_preimage" ref="a6ffd595f3e1d85275962dde5f8401c7f" args="(ppl_Polyhedron_t ph, ppl_dimension_type var, ppl_const_Linear_Expression_t lb, ppl_const_Linear_Expression_t ub, ppl_const_Coefficient_t d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_bounded_affine_preimage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>lb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>ub</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>ph</code> the preimage of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\frac{\mathrm{lb}}{\mathrm{d}} \leq \mathrm{var}' \leq \frac{\mathrm{ub}}{\mathrm{d}}$" src="form_15.png"/>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>The variable bounded by the generalized affine transfer relation;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lb</em>&nbsp;</td><td>The numerator of the lower bounding affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ub</em>&nbsp;</td><td>The numerator of the upper bounding affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The (common) denominator of the lower and upper bounding affine expressions. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac0e5d09ffe586f8ea5ec782570015c5b"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_generalized_affine_image" ref="ac0e5d09ffe586f8ea5ec782570015c5b" args="(ppl_Polyhedron_t ph, ppl_dimension_type var, enum ppl_enum_Constraint_Type relsym, ppl_const_Linear_Expression_t le, ppl_const_Coefficient_t d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_generalized_affine_image </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a>&nbsp;</td>
          <td class="paramname"> <em>relsym</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>le</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>ph</code> the image of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{var}' \relsym \frac{\mathrm{le}}{\mathrm{d}}$" src="form_16.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>The left hand side variable of the generalized affine transfer relation;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>relsym</em>&nbsp;</td><td>The relation symbol;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>le</em>&nbsp;</td><td>The numerator of the right hand side affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The denominator of the right hand side affine expression. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a381b0e6e2e58df417ff578ed6d715520"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_generalized_affine_preimage" ref="a381b0e6e2e58df417ff578ed6d715520" args="(ppl_Polyhedron_t ph, ppl_dimension_type var, enum ppl_enum_Constraint_Type relsym, ppl_const_Linear_Expression_t le, ppl_const_Coefficient_t d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_generalized_affine_preimage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a>&nbsp;</td>
          <td class="paramname"> <em>relsym</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>le</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#gaf1c4903edb1a626a36a7220038f963c4">ppl_const_Coefficient_t</a>&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>ph</code> the preimage of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{var}' \relsym \frac{\mathrm{le}}{\mathrm{d}}$" src="form_16.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>The left hand side variable of the generalized affine transfer relation;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>relsym</em>&nbsp;</td><td>The relation symbol;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>le</em>&nbsp;</td><td>The numerator of the right hand side affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>The denominator of the right hand side affine expression. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a46fc9d1041d5548a5f8f220af2a07028"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_generalized_affine_image_lhs_rhs" ref="a46fc9d1041d5548a5f8f220af2a07028" args="(ppl_Polyhedron_t ph, ppl_const_Linear_Expression_t lhs, enum ppl_enum_Constraint_Type relsym, ppl_const_Linear_Expression_t rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_generalized_affine_image_lhs_rhs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a>&nbsp;</td>
          <td class="paramname"> <em>relsym</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>ph</code> the image of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{lhs}' \relsym \mathrm{rhs}$" src="form_18.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lhs</em>&nbsp;</td><td>The left hand side affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>relsym</em>&nbsp;</td><td>The relation symbol;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>The right hand side affine expression. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6ff56c68b449b94588ea7290d01625d5"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_generalized_affine_preimage_lhs_rhs" ref="a6ff56c68b449b94588ea7290d01625d5" args="(ppl_Polyhedron_t ph, ppl_const_Linear_Expression_t lhs, enum ppl_enum_Constraint_Type relsym, ppl_const_Linear_Expression_t rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_generalized_affine_preimage_lhs_rhs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__Datatypes.html#gae5679e4f41db32b7b91dfc81574fc1d6">ppl_enum_Constraint_Type</a>&nbsp;</td>
          <td class="paramname"> <em>relsym</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga25f4b655851f0f561cdddf94f667e833">ppl_const_Linear_Expression_t</a>&nbsp;</td>
          <td class="paramname"> <em>rhs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>ph</code> the preimage of <code>ph</code> with respect to the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Generalized_Affine_Relations">generalized affine transfer relation</a> <img class="formulaInl" alt="$\mathrm{lhs}' \relsym \mathrm{rhs}$" src="form_18.png"/>, where <img class="formulaInl" alt="$\mathord{\relsym}$" src="form_17.png"/> is the relation symbol encoded by <code>relsym</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lhs</em>&nbsp;</td><td>The left hand side affine expression;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>relsym</em>&nbsp;</td><td>The relation symbol;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rhs</em>&nbsp;</td><td>The right hand side affine expression. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aabb79ab0a7936b6f14cd20e15cb14fa8"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_map_space_dimensions" ref="aabb79ab0a7936b6f14cd20e15cb14fa8" args="(ppl_Polyhedron_t ph, ppl_dimension_type maps[], size_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_map_space_dimensions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>maps</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remaps the dimensions of the vector space according to a <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Mapping_the_Dimensions_of_the_Vector_Space">partial function</a>. This function is specified by means of the <code>maps</code> array, which has <code>n</code> entries. </p>
<p>The partial function is defined on dimension <code>i</code> if <code>i &lt; n</code> and <code>maps[i] != ppl_not_a_dimension</code>; otherwise it is undefined on dimension <code>i</code>. If the function is defined on dimension <code>i</code>, then dimension <code>i</code> is mapped onto dimension <code>maps[i]</code>.</p>
<p>The result is undefined if <code>maps</code> does not encode a partial function with the properties described in the <a class="elRef" doxygen="ppl-user-0.11.2-html.tag:../ppl-user-0.11.2-html/" href="../ppl-user-0.11.2-html/main.html#Mapping_the_Dimensions_of_the_Vector_Space">specification of the mapping operator</a>. </p>

</div>
</div>
<a class="anchor" id="ad9547cb6430722246dea7f5a70566c06"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_from_Generator_System" ref="ad9547cb6430722246dea7f5a70566c06" args="(ppl_Polyhedron_t *pph, ppl_const_Generator_System_t gs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_from_Generator_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga6069aff3ad06a502f746df4adec1c16c">ppl_const_Generator_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>gs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new C polyhedron from the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>gs</code>. </p>

</div>
</div>
<a class="anchor" id="a3bc82e8c76e1a47ecc20c85e1003036d"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_C_Polyhedron_recycle_Generator_System" ref="a3bc82e8c76e1a47ecc20c85e1003036d" args="(ppl_Polyhedron_t *pph, ppl_Generator_System_t gs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_C_Polyhedron_recycle_Generator_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Generator__System__tag.html">ppl_Generator_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>gs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new C polyhedron recycling the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>gs</code>.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the generator system referenced by <code>gs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="a7573064b44c45d804d398aec02e7a64a"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_from_Generator_System" ref="a7573064b44c45d804d398aec02e7a64a" args="(ppl_Polyhedron_t *pph, ppl_const_Generator_System_t gs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_from_Generator_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga6069aff3ad06a502f746df4adec1c16c">ppl_const_Generator_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>gs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new NNC polyhedron from the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>gs</code>. </p>

</div>
</div>
<a class="anchor" id="a0184ad10aeca27f95d249d3a7e061b46"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_new_NNC_Polyhedron_recycle_Generator_System" ref="a0184ad10aeca27f95d249d3a7e061b46" args="(ppl_Polyhedron_t *pph, ppl_Generator_System_t gs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_new_NNC_Polyhedron_recycle_Generator_System </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Generator__System__tag.html">ppl_Generator_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>gs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Builds a new NNC polyhedron recycling the system of generators <code>gs</code> and writes a handle for the newly created polyhedron at address <code>pph</code>. </p>
<p>The new polyhedron will inherit the space dimension of <code>gs</code>.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the generator system referenced by <code>gs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="a841ceef027f12d5c99fc2e739ae340fb"></a><!-- doxytag: member="ppl_Polyhedron_tag::ppl_Polyhedron_add_recycled_generators" ref="a841ceef027f12d5c99fc2e739ae340fb" args="(ppl_Polyhedron_t ph, ppl_Generator_System_t gs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ppl_Polyhedron_add_recycled_generators </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceppl__Generator__System__tag.html">ppl_Generator_System_t</a>&nbsp;</td>
          <td class="paramname"> <em>gs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds the system of generators <code>gs</code> to the system of generators of <code>ph</code>. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function modifies the generator system referenced by <code>gs:</code> upon return, no assumption can be made on its value. </dd></dl>

</div>
</div>
<a class="anchor" id="a5eeb3bf2e0ec7e6cd38e47b53eb43423"></a><!-- doxytag: member="ppl_Polyhedron_tag::wrap_assign" ref="a5eeb3bf2e0ec7e6cd38e47b53eb43423" args="(ppl_Polyhedron_t ph, ppl_dimension_type ds[], size_t n, ppl_enum_Bounded_Integer_Type_Width w, ppl_enum_Bounded_Integer_Type_Representation r, ppl_enum_Bounded_Integer_Type_Overflow o, const ppl_const_Constraint_System_t *pcs, unsigned complexity_threshold, int wrap_individually)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wrap_assign </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceppl__Polyhedron__tag.html">ppl_Polyhedron_t</a>&nbsp;</td>
          <td class="paramname"> <em>ph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga32ce20a24d131c3ec8274b907176bfec">ppl_dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>ds</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga4b10979f4464f0574331e442e9025d3c">ppl_enum_Bounded_Integer_Type_Width</a>&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga6b8429baa2a70746836586aad6905b64">ppl_enum_Bounded_Integer_Type_Representation</a>&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Datatypes.html#ga4813a2ed52eb4aeac03bde07be0ddd83">ppl_enum_Bounded_Integer_Type_Overflow</a>&nbsp;</td>
          <td class="paramname"> <em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__Datatypes.html#gad55dee4843ce4694afab11a60f16ef40">ppl_const_Constraint_System_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>complexity_threshold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>wrap_individually</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns to <code>ph</code> the polyhedron obtained from <code>ph</code> by "wrapping" the vector space defined by the first <code>n</code> space dimensions in <code>ds</code>[]. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ph</em>&nbsp;</td><td>The polyhedron that is transformed;</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ds[]</em>&nbsp;</td><td>Specifies the space dimensions to be wrapped.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>The first <code>n</code> space dimensions in the array <code>ds</code>[] will be wrapped.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the bounded integer type corresponding to all the dimensions to be wrapped.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The representation of the bounded integer type corresponding to all the dimensions to be wrapped.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>o</em>&nbsp;</td><td>The overflow behavior of the bounded integer type corresponding to all the dimensions to be wrapped.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pcs</em>&nbsp;</td><td>Possibly null pointer to a constraint system whose space dimensions are the first <code>n</code> dimensions in <code>ds</code>[]. If <code>*pcs</code> depends on variables not in <code>vars</code>, the behavior is undefined. When non-null, the constraint system is assumed to represent the conditional or looping construct guard with respect to which wrapping is performed. Since wrapping requires the computation of upper bounds and due to non-distributivity of constraint refinement over upper bounds, passing a constraint system in this way can be more precise than refining the result of the wrapping operation with the constraints in <code>cs</code>.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>complexity_threshold</em>&nbsp;</td><td>A precision parameter where higher values result in possibly improved precision.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>wrap_individually</em>&nbsp;</td><td>Non-zero if the dimensions should be wrapped individually (something that results in much greater efficiency to the detriment of precision). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>C_interface.dox</li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Feb 27 10:12:18 2011 for PPL C Language Interface by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>