This file is indexed.

/usr/share/doc/libapron-dev/html/apron_29.html is in libapron-dev 0.9.10-5.2ubuntu3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
<!-- Created on November 19, 2011 by texi2html 1.82
texi2html was written by: 
            Lionel Cons <Lionel.Cons@cern.ch> (original author)
            Karl Berry  <karl@freefriends.org>
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
            and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <texi2html-bug@nongnu.org>
-->
<head>
<title>APRON 0.9.10: Tree expressions of level 1 (ap_texpr1.h)</title>

<meta name="description" content="APRON 0.9.10: Tree expressions of level 1 (ap_texpr1.h)">
<meta name="keywords" content="APRON 0.9.10: Tree expressions of level 1 (ap_texpr1.h)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.82">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
pre.display {font-family: serif}
pre.format {font-family: serif}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: serif; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: serif; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.roman {font-family:serif; font-weight:normal;}
span.sansserif {font-family:sans-serif; font-weight:normal;}
ul.toc {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">

<a name="Tree-expressions-of-level-1"></a>
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="apron_28.html#Arrays-of-generators-of-level-1" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Datatypes-for-tree-expressions-of-level-1" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron_23.html#Level-1-of-the-interface" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="apron_23.html#Level-1-of-the-interface" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="apron_32.html#Level-0-of-the-interface" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[Contents]</td>
<td valign="middle" align="left">[<a href="apron_42.html#Appendices" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="apron_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<a name="Tree-expressions-of-level-1-_0028ap_005ftexpr1_002eh_0029"></a>
<h2 class="section">Tree expressions of level 1 (&lsquo;<tt>ap_texpr1.h</tt>&rsquo;)</h2>

<p>We manipulate here general expressions described by the grammar
</p><blockquote><p><em>expr ::= cst | var | unop e | e1 binop e2</em>
</p></blockquote>
<p>Such tree expressions generalize linear expressions(see section <a href="apron_26.html#Linear-expressions-of-level-1">Linear expressions of level 1 (&lsquo;<tt>ap_linexpr1.h</tt>&rsquo;)</a>) in two ways:
</p><ul>
<li> Non-linear operations are possible (multiplication, division, casts, ...)
</li><li>
Semantics of operators is no longer restricted to real/rational
semantics. Each operation is parameterized by two parameters:
<ul>
<li>
a rounding type parameter,
which indicates the destination type of the operation, and influences
how the rounding is performed;
</li><li>
a rounding direction parameter, which defines the rounding mode.
</li></ul>
</li></ul>

<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top"><a href="#Datatypes-for-tree-expressions-of-level-1">Datatypes for tree expressions of level 1</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#Constructors_002fDestructors-for-tree-expressions-of-level-1">Constructors/Destructors for tree expressions of level 1</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#Tests-on-tree-expressions-of-level-1">Tests on tree expressions of level 1</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top"><a href="#Operations-on-tree-expressions-of-level-1">Operations on tree expressions of level 1</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
</table>

<hr size="6">
<a name="Datatypes-for-tree-expressions-of-level-1"></a>
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#Tree-expressions-of-level-1" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Constructors_002fDestructors-for-tree-expressions-of-level-1" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron_23.html#Level-1-of-the-interface" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Tree-expressions-of-level-1" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="apron_32.html#Level-0-of-the-interface" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[Contents]</td>
<td valign="middle" align="left">[<a href="apron_42.html#Appendices" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="apron_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<a name="Datatypes-for-tree-expressions-of-level-1-1"></a>
<h3 class="subsection">Datatypes for tree expressions of level 1</h3>

<dl>
<dt><a name="index-ap_005ftexpr1_005ft"></a><u>datatype:</u> <b>ap_texpr1_t</b></dt>
<dd><p>Type of tree expressions.
</p>
<p>Tree expressions of level 1 are created as objects of type
<code>ap_texpr1_t*</code>. They are manipulated in a functional way (except
a few operations), unlike linear expressions on which most operations
acts by side-effects.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr_005fop_005ft"></a><u>datatype:</u> <b>ap_texpr_op_t</b></dt>
<dd><p>Operators (actually defined in &lsquo;<tt>ap_texpr0.h</tt>&rsquo;)
</p><table><tr><td>&nbsp;</td><td><pre class="example">typedef enum ap_texpr_op_t {
  /* Binary operators */
  AP_TEXPR_ADD, AP_TEXPR_SUB, AP_TEXPR_MUL, AP_TEXPR_DIV,
  AP_TEXPR_MOD,  /* either integer or real, no rounding */
  /* Unary operators */
  AP_TEXPR_NEG   /* no rounding */,
  AP_TEXPR_CAST, AP_TEXPR_SQRT,
} ap_texpr_op_t;
</pre></td></tr></table>
</dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr_005frtype_005ft"></a><u>datatype:</u> <b>ap_texpr_rtype_t</b></dt>
<dd><p>Destination type of the operation for rounding (actually defined in &lsquo;<tt>ap_texpr0.h</tt>&rsquo;)
</p><table><tr><td>&nbsp;</td><td><pre class="example">typedef enum ap_texpr_rtype_t {
  AP_RTYPE_REAL,     /* real (no rounding) */
  AP_RTYPE_INT,      /* integer */
  AP_RTYPE_SINGLE,   /* IEEE 754 32-bit single precision, e.g.: C's float */
  AP_RTYPE_DOUBLE,   /* IEEE 754 64-bit double precision, e.g.: C's double */
  AP_RTYPE_EXTENDED, /* non-standard 80-bit double extended, e.g.: Intel's long double */
  AP_RTYPE_QUAD,     /* non-standard 128-bit quadruple precision, e.g.: Motorola's long double */
} ap_texpr_rtype_t;
</pre></td></tr></table>
</dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr_005frdir_005ft"></a><u>datatype:</u> <b>ap_texpr_rdir_t</b></dt>
<dd><p>Rounding mode (actually defined in &lsquo;<tt>ap_texpr0.h</tt>&rsquo;)
</p><table><tr><td>&nbsp;</td><td><pre class="example">typedef enum ap_texpr_rdir_t {
  AP_RDIR_NEAREST /* Nearest */
  AP_RDIR_ZERO    /* Zero (truncation for integers) */
  AP_RDIR_UP      /* + Infinity */
  AP_RDIR_DOWN    /* - Infinity */
  AP_RDIR_RND,    /* All possible mode, non deterministically */
  AP_RDIR_SIZE    /* Not to be used ! */
} ap_texpr_rdir_t;
</pre></td></tr></table>
</dd></dl>

<hr size="6">
<a name="Constructors_002fDestructors-for-tree-expressions-of-level-1"></a>
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#Datatypes-for-tree-expressions-of-level-1" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Tests-on-tree-expressions-of-level-1" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron_23.html#Level-1-of-the-interface" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Tree-expressions-of-level-1" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="apron_32.html#Level-0-of-the-interface" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[Contents]</td>
<td valign="middle" align="left">[<a href="apron_42.html#Appendices" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="apron_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<a name="Constructors_002fDestructors-for-tree-expressions-of-level-1-1"></a>
<h3 class="subsection">Constructors/Destructors for tree expressions of level 1</h3>

<p>Parameters of constructors are not memory-managed by the constructed
expression, with the important exception of expressions parameters
(type <code>ap_texpr1.h</code>) are, which means that they should not be
freed afterwards.
</p>
<dl>
<dt><a name="index-ap_005ftexpr1_005fcst"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst</b><i>                 (ap_environment_t* <var>env</var>, ap_coeff_t* <var>coeff</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005fscalar"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_scalar</b><i>          (ap_environment_t* <var>env</var>, ap_scalar_t* <var>scalar</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005fscalar_005fmpq"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_scalar_mpq</b><i>      (ap_environment_t* <var>env</var>, mpq_t <var>mpq</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005fscalar_005fint"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_scalar_int</b><i>      (ap_environment_t* <var>env</var>, long int <var>num</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005fscalar_005ffrac"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_scalar_frac</b><i>     (ap_environment_t* <var>env</var>, long int <var>num</var>, unsigned long int <var>den</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005fscalar_005fdouble"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_scalar_double</b><i>   (ap_environment_t* <var>env</var>, double <var>num</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005finterval"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_interval</b><i>        (ap_environment_t* <var>env</var>, ap_interval_t* <var>itv</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005finterval_005fscalar"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_interval_scalar</b><i> (ap_environment_t* <var>env</var>, ap_scalar_t* <var>inf</var>, ap_scalar_t* <var>sup</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005finterval_005fmpq"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_interval_mpq</b><i>    (ap_environment_t* <var>env</var>, mpq_t <var>inf</var>, mpq_t <var>sup</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005finterval_005fint"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_interval_int</b><i>    (ap_environment_t* <var>env</var>, long int <var>inf</var>, long int <var>sup</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005finterval_005ffrac"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_interval_frac</b><i>   (ap_environment_t* <var>env</var>, long int <var>numinf</var>, unsigned long int <var>deninf</var>, long int <var>numsup</var>, unsigned long int <var>densup</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005finterval_005fdouble"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_interval_double</b><i> (ap_environment_t* <var>env</var>, double <var>inf</var>, double <var>sup</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fcst_005ftop"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_cst_top</b><i>             (ap_environment_t* <var>env</var>)</i></dt>
<dd><p>Create a constant expression, on the environment <var>env</var>.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fvar"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_var</b><i> (ap_environment_t* <var>env</var>, ap_var_t <var>var</var>)</i></dt>
<dd><p>Create a variable expression. Return <code>NULL</code> in the case <var>var</var>
is unknown in <var>env</var>.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005funop"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_unop</b><i> (ap_texpr_op_t <var>op</var>, ap_texpr1_t* <var>opA</var>, ap_texpr_rtype_t <var>type</var>, ap_texpr_rdir_t <var>dir</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fbinop"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_binop</b><i> (ap_texpr_op_t <var>op</var>, ap_texpr1_t* <var>opA</var>, ap_texpr1_t* <var>opB</var>, ap_texpr_rtype_t <var>type</var>, ap_texpr_rdir_t <var>dir</var>)</i></dt>
<dd><p>Create an expression from an operator and expression operand(s). Be
aware that <var>opA</var> and <var>opB</var> are memroy-managed by the result
upon return.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fcopy"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_copy</b><i> (ap_texpr1_t* <var>expr</var>)</i></dt>
<dd><p>(Deep) copy of a tree expression.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005ffrom_005flinexpr1"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_from_linexpr1</b><i> (ap_linexpr1_t* <var>linexpr</var>)</i></dt>
<dd><p>Creation from a linear expression.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005ffree"></a><u>Function:</u> void <b>ap_texpr1_free</b><i> (ap_texpr1_t* <var>expr</var>)</i></dt>
<dd><p>Free (recursively) a tree expression.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005ffprint"></a><u>Function:</u> void <b>ap_texpr1_fprint</b><i> (FILE* <var>stream</var>, ap_texpr1_t* <var>e</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fprint"></a><u>Function:</u> void <b>ap_texpr1_print</b><i> (ap_texpr1_t* <var>e</var>)</i></dt>
<dd><p>Print the expression
</p></dd></dl>

<hr size="6">
<a name="Tests-on-tree-expressions-of-level-1"></a>
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#Constructors_002fDestructors-for-tree-expressions-of-level-1" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Operations-on-tree-expressions-of-level-1" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron_23.html#Level-1-of-the-interface" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Tree-expressions-of-level-1" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="apron_32.html#Level-0-of-the-interface" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[Contents]</td>
<td valign="middle" align="left">[<a href="apron_42.html#Appendices" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="apron_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<a name="Tests-on-tree-expressions-of-level-1-1"></a>
<h3 class="subsection">Tests on tree expressions of level 1</h3>

<dl>
<dt><a name="index-ap_005ftexpr1_005fequal"></a><u>Function:</u> bool <b>ap_texpr1_equal</b><i> (ap_texpr1_t* <var>e1</var>, ap_texpr1_t* <var>e2</var>)</i></dt>
<dd><p>Structural (recursive) equality
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fhas_005fvar"></a><u>Function:</u> bool <b>ap_texpr1_has_var</b><i> (ap_texpr1_t* <var>e</var>, ap_var_t <var>var</var>)</i></dt>
<dd><p>Return true if variable <var>var</var> appears in the expression.
</p></dd></dl>

<p>The next functions classifies tree expressions.
</p><dl>
<dt><a name="index-ap_005ftexpr1_005fis_005finterval_005fcst"></a><u>Function:</u> bool <b>ap_texpr1_is_interval_cst</b><i> (ap_texpr1_t* <var>e</var>)</i></dt>
<dd><p>No variable, only constant leaves
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fis_005finterval_005flinear"></a><u>Function:</u> bool <b>ap_texpr1_is_interval_linear</b><i> (ap_texpr1_t* <var>e</var>)</i></dt>
<dd><p>Linear with possibly interval coefficients, no rounding
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fis_005finterval_005fpolynomial"></a><u>Function:</u> bool <b>ap_texpr1_is_interval_polynomial</b><i> (ap_texpr1_t* <var>e</var>)</i></dt>
<dd><p>Polynomial with possibly interval coefficients, no rounding
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fis_005finterval_005fpolyfrac"></a><u>Function:</u> bool <b>ap_texpr1_is_interval_polyfrac</b><i> (ap_texpr1_t* <var>e</var>)</i></dt>
<dd><p>Polynomial fraction with possibly interval coefficients, no rounding
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fis_005fscalar"></a><u>Function:</u> bool <b>ap_texpr1_is_scalar</b><i> (ap_texpr1_t* <var>e</var>)</i></dt>
<dd><p>All coefficients are scalar (non-interval)</p></dd></dl>

<hr size="6">
<a name="Operations-on-tree-expressions-of-level-1"></a>
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#Tests-on-tree-expressions-of-level-1" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="apron_30.html#Tree-constraints-of-level-1" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron_23.html#Level-1-of-the-interface" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Tree-expressions-of-level-1" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="apron_32.html#Level-0-of-the-interface" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron.html#Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[Contents]</td>
<td valign="middle" align="left">[<a href="apron_42.html#Appendices" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="apron_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<a name="Operations-on-tree-expressions-of-level-1-1"></a>
<h3 class="subsection">Operations on tree expressions of level 1</h3>

<dl>
<dt><a name="index-ap_005ftexpr1_005fsubstitute"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_substitute</b><i> (ap_texpr1_t* <var>e</var>, ap_var_t <var>var</var>, ap_texpr1_t* <var>dst</var>)</i></dt>
<dd><p>Substitute every occurence of variable var with a copy of dst.  Return
NULL in case of incorrect argument (w.r.t. var and/or environment
compatibility).
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fextend_005fenvironment"></a><u>Function:</u> ap_texpr1_t* <b>ap_texpr1_extend_environment</b><i> (ap_texpr1_t* <var>e</var>, ap_environment_t* <var>nenv</var>)</i></dt>
<dd><p>Change current environment with a super-environment.  Return NULL if
<var>nenv</var> is not a superenvironment of <code>e-&gt;env</code>.
</p></dd></dl>

<dl>
<dt><a name="index-ap_005ftexpr1_005fsubstitute_005fwith"></a><u>Function:</u> bool <b>ap_texpr1_substitute_with</b><i> (ap_texpr1_t* <var>e</var>, ap_var_t <var>var</var>, ap_texpr1_t* <var>dst</var>)</i></dt>
<dt><a name="index-ap_005ftexpr1_005fextend_005fenvironment_005fwith"></a><u>Function:</u> bool <b>ap_texpr1_extend_environment_with</b><i> (ap_texpr1_t* <var>e</var>, ap_environment_t* <var>nenv</var>)</i></dt>
<dd><p>Side-effect versions of the previous functions. Return <code>true</code>
instead of <code>NULL</code> in case of problem.
</p></dd></dl>

<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#Tests-on-tree-expressions-of-level-1" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="apron_30.html#Tree-constraints-of-level-1" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="apron_23.html#Level-1-of-the-interface" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="#Tree-expressions-of-level-1" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="apron_32.html#Level-0-of-the-interface" title="Next chapter"> &gt;&gt; </a>]</td>
</tr></table>
<p>
 <font size="-1">
  This document was generated by <em>Build Daemon user</em> on <em>November 19, 2011</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.
 </font>
 <br>

</p>
</body>
</html>