Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > 121de4cab02664a26a0cd1ceab612659 > files > 131

apron-devel-0.9.10-9.fc18.i686.rpm

<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on December, 22  2009 by texi2html 1.64 -->
<!-- 
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: Olaf Bachmann <obachman@mathematik.uni-kl.de>
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
 
-->
<HEAD>
<TITLE>APRON 0.9.10: Additional functions on abstract values of level 1</TITLE>

<META NAME="description" CONTENT="APRON 0.9.10: Additional functions on abstract values of level 1">
<META NAME="keywords" CONTENT="APRON 0.9.10: Additional functions on abstract values of level 1">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="texi2html 1.64">

</HEAD>

<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">

<A NAME="SEC139"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_102.html#SEC138"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_104.html#SEC140"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_82.html#SEC118"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_87.html#SEC123"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_104.html#SEC140"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<HR SIZE=1>
<H3> Additional functions on abstract values of level 1 </H3>
<!--docid::SEC139::-->
<P>

<A NAME="IDX345"></A>
<DL>
<DT><U>Function:</U> ap_abstract1_t <B>ap_abstract1_of_lincons_array</B> <I>(ap_manager_t* <VAR>man</VAR>, ap_environment_t* <VAR>env</VAR>, ap_lincons1_array_t* <VAR>array</VAR>)</I>
<DD><A NAME="IDX346"></A>
<DT><U>Function:</U> ap_abstract1_t <B>ap_abstract1_of_tcons_array</B> <I>(ap_manager_t* <VAR>man</VAR>, ap_environment_t* <VAR>env</VAR>, ap_tcons1_array_t* <VAR>array</VAR>)</I>
<DD>Abstract a conjunction of constraints. The environment of the array should be
a subset of the environment <VAR>env</VAR>.
</DL>
</P><P>

<A NAME="IDX347"></A>
<DL>
<DT><U>Function:</U> ap_abstract1_t <B>ap_abstract1_assign_linexpr</B> <I>(ap_manager_t* <VAR>man</VAR>, bool <VAR>destructive</VAR>, ap_abstract1_t* <VAR>org</VAR>, ap_var_t <VAR>var</VAR>, ap_linexpr1_t* <VAR>expr</VAR>, ap_abstract1_t* <VAR>dest</VAR>)</I>
<DD><A NAME="IDX348"></A>
<DT><U>Function:</U> ap_abstract1_t <B>ap_abstract1_substitute_linexpr</B> <I>(ap_manager_t* <VAR>man</VAR>, bool <VAR>destructive</VAR>, ap_abstract1_t* <VAR>org</VAR>, ap_var_t <VAR>var</VAR>, ap_linexpr1_t* <VAR>expr</VAR>, ap_abstract1_t* <VAR>dest</VAR>)</I>
<DD><A NAME="IDX349"></A>
<DT><U>Function:</U> ap_abstract1_t <B>ap_abstract1_assign_texpr</B> <I>(ap_manager_t* <VAR>man</VAR>, bool <VAR>destructive</VAR>, ap_abstract1_t* <VAR>org</VAR>, ap_var_t <VAR>var</VAR>, ap_texpr1_t* <VAR>expr</VAR>, ap_abstract1_t* <VAR>dest</VAR>)</I>
<DD><A NAME="IDX350"></A>
<DT><U>Function:</U> ap_abstract1_t <B>ap_abstract1_substitute_texpr</B> <I>(ap_manager_t* <VAR>man</VAR>, bool <VAR>destructive</VAR>, ap_abstract1_t* <VAR>org</VAR>, ap_var_t <VAR>var</VAR>, ap_texpr1_t* <VAR>expr</VAR>, ap_abstract1_t* <VAR>dest</VAR>)</I>
<DD>Assignement and Substitution of the dimension <VAR>dim</VAR> by the
expression <VAR>expr</VAR> in abstract value <VAR>org</VAR>.
</P><P>

<VAR>dest</VAR> is an optional argument. If not NULL, semantically
speaking, the result of the transformation is intersected with
<VAR>dest</VAR>. This is useful for precise backward transformations in
lattices like intervals or octagons.
</DL>
</P><P>

<A NAME="IDX351"></A>
<DL>
<DT><U>Function:</U> ap_abstract1_t <B>ap_abstract1_unify</B> <I>(ap_manager_t* <VAR>man</VAR>, bool <VAR>destructive</VAR>, ap_abstract1_t* <VAR>a1</VAR>, ap_abstract1_t* <VAR>a2</VAR>)</I>
<DD>Unify two abstract values on their common variables, that is,
embed them on the least common environment and then compute their
meet. The result is defined on the least common environment.
</P><P>

For instance, the unification of <CODE>1&#60;=x&#60;=3 and x=y</CODE> defined on
<CODE>{ x, y }</CODE> and <CODE>2&#60;=z&#60;=4 and z=y</CODE> defined on 
<CODE>{y,z }</CODE> results in <CODE>2&#60;=x&#60;=3 and x=y=z</CODE> defined on
<CODE>{x,y,z}</CODE>.
</DL>
</P><P>

<A NAME="IDX352"></A>
<DL>
<DT><U>Function:</U> ap_linexpr1_t <B>ap_abstract1_quasilinear_of_intlinear</B> <I>(ap_manager_t* <VAR>man</VAR>, ap_abstract1_t* <VAR>a</VAR>, ap_linexpr1_t* <VAR>expr</VAR>)</I>
<DD>Evaluate the interval linear expression <VAR>expr</VAR> on the abstract
value <VAR>a</VAR> and approximate it by a quasilinear expression.
</P><P>

This implies calls to <CODE>ap_abstract0_bound_dimension</CODE>.
</DL>
</P><P>

<A NAME="IDX353"></A>
<DL>
<DT><U>Function:</U> ap_linexpr1_t <B>ap_abstract1_intlinear_of_tree</B> <I>(ap_manager_t* <VAR>man</VAR>, ap_abstract1_t* <VAR>a</VAR>, ap_texpr1_t* <VAR>expr</VAR>, bool quasilinear)</I>
<DD>Evaluate the tree expression <VAR>expr</VAR> on the abstract value <VAR>a</VAR>
and approximate it by an interval linear (resp. quasilinear if
<VAR>quasilinear</VAR> is true) expression.
</P><P>

This implies calls to <CODE>ap_abstract0_bound_dimension</CODE>.
</DL>
</P><P>

<A NAME="Level 0 of the interface"></A>
<HR SIZE=1>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_102.html#SEC138"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_104.html#SEC140"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_82.html#SEC118"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_87.html#SEC123"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_104.html#SEC140"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_toc.html#SEC_Contents">Contents</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_abt.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<BR>  
<FONT SIZE="-1">
This document was generated
by <I>Bertrand Jeannet</I> on <I>December, 22  2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>

</BODY>
</HTML>