<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: Constructors/Destructors for tree expressions of level 1</TITLE> <META NAME="description" CONTENT="APRON 0.9.10: Constructors/Destructors for tree expressions of level 1"> <META NAME="keywords" CONTENT="APRON 0.9.10: Constructors/Destructors for tree expressions 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="SEC115"></A> <TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> <TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_78.html#SEC114"> < </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_80.html#SEC116"> > </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_72.html#SEC108"> << </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_77.html#SEC113"> Up </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_82.html#SEC118"> >> </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <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> Constructors/Destructors for tree expressions of level 1 </H3> <!--docid::SEC115::--> <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><P> <A NAME="IDX233"></A> <DL> <DT><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> <DD><A NAME="IDX234"></A> <DT><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> <DD><A NAME="IDX235"></A> <DT><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> <DD><A NAME="IDX236"></A> <DT><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> <DD><A NAME="IDX237"></A> <DT><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> <DD><A NAME="IDX238"></A> <DT><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> <DD><A NAME="IDX239"></A> <DT><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> <DD><A NAME="IDX240"></A> <DT><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> <DD><A NAME="IDX241"></A> <DT><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> <DD><A NAME="IDX242"></A> <DT><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> <DD><A NAME="IDX243"></A> <DT><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> <DD><A NAME="IDX244"></A> <DT><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> <DD><A NAME="IDX245"></A> <DT><U>Function:</U> ap_texpr1_t* <B>ap_texpr1_cst_top</B> <I>(ap_environment_t* <VAR>env</VAR>)</I> <DD>Create a constant expression, on the environment <VAR>env</VAR>. </DL> </P><P> <A NAME="IDX246"></A> <DL> <DT><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> <DD>Create a variable expression. Return <CODE>NULL</CODE> in the case <VAR>var</VAR> is unknown in <VAR>env</VAR>. </DL> </P><P> <A NAME="IDX247"></A> <DL> <DT><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> <DD><A NAME="IDX248"></A> <DT><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> <DD>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. </DL> </P><P> <A NAME="IDX249"></A> <DL> <DT><U>Function:</U> ap_texpr1_t* <B>ap_texpr1_copy</B> <I>(ap_texpr1_t* <VAR>expr</VAR>)</I> <DD>(Deep) copy of a tree expression. </DL> </P><P> <A NAME="IDX250"></A> <DL> <DT><U>Function:</U> ap_texpr1_t* <B>ap_texpr1_from_linexpr1</B> <I>(ap_linexpr1_t* <VAR>linexpr</VAR>)</I> <DD>Creation from a linear expression. </DL> </P><P> <A NAME="IDX251"></A> <DL> <DT><U>Function:</U> void <B>ap_texpr1_free</B> <I>(ap_texpr1_t* <VAR>expr</VAR>)</I> <DD>Free (recursively) a tree expression. </DL> </P><P> <A NAME="IDX252"></A> <DL> <DT><U>Function:</U> void <B>ap_texpr1_fprint</B> <I>(FILE* <VAR>stream</VAR>, ap_texpr1_t* <VAR>e</VAR>)</I> <DD><A NAME="IDX253"></A> <DT><U>Function:</U> void <B>ap_texpr1_print</B> <I>(ap_texpr1_t* <VAR>e</VAR>)</I> <DD>Print the expression </DL> </P><P> <A NAME="Tests on tree expressions of level 1"></A> <HR SIZE=1> <TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> <TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_78.html#SEC114"> < </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_80.html#SEC116"> > </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_72.html#SEC108"> << </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_77.html#SEC113"> Up </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="apron_82.html#SEC118"> >> </A>]</TD> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <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>