Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 135

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>4.3 Floats</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="int.html#section.numbers.integers">&lt;&lt; Prev</A></TD><TD><A href="node6.html">- Up -</A></TD></TR></TABLE><DIV id="section.numbers.floats"><H2><A name="section.numbers.floats">4.3 Floats</A></H2><P> The module <A name="label88"></A><SPAN class="index"><CODE>Float</CODE></SPAN> contains procedures operating on floating point numbers. </P><DL><DT><A name="label89"></A><SPAN class="index"><CODE>IsFloat</CODE></SPAN> <A name="label91"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>is&nbsp;</CODE><CODE>+<I>X</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>X</I></CODE> is a float. </P></DD><DT><A name="label92"></A><SPAN class="index"><CODE><SPAN class="keyword">/</SPAN></CODE></SPAN> <A name="label93"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN><SPAN class="string">'/'</SPAN>&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>F2</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F3</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns <CODE><I>F1</I></CODE> divided by&nbsp;<CODE><I>F2</I></CODE>. </P></DD><DT><A name="label94"></A><SPAN class="index"><CODE>Exp</CODE></SPAN> <A name="label95"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>exp&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns <CODE><I>F1</I></CODE> to the power of <I>e</I>. </P></DD><DT><A name="label96"></A><SPAN class="index"><CODE>Log</CODE></SPAN> <A name="label97"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>log&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the logarithm to the base <I>e</I> of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label98"></A><SPAN class="index"><CODE>Sqrt</CODE></SPAN> <A name="label99"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>sqrt&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the square root of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label100"></A><SPAN class="index"><CODE>Ceil</CODE></SPAN> <A name="label101"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>ceil&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the ceiling of&nbsp;<CODE><I>F1</I></CODE> (rounding towards positive infinity). </P></DD><DT><A name="label102"></A><SPAN class="index"><CODE>Floor</CODE></SPAN> <A name="label103"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>floor&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the floor of&nbsp;<CODE><I>F1</I></CODE> (rounding towards negative infinity). </P></DD><DT><A name="label104"></A><SPAN class="index"><CODE>Round</CODE></SPAN> <A name="label105"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>round&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the integral value closest to&nbsp;<CODE><I>F1</I></CODE>. If there are two candidates, <CODE><I>F1</I></CODE> is rounded to the closest even integral value, e.&nbsp;g., <CODE>{Float<SPAN class="keyword">.</SPAN>round&nbsp;1<SPAN class="keyword">.</SPAN>5}</CODE> and <CODE>{Float<SPAN class="keyword">.</SPAN>round&nbsp;2<SPAN class="keyword">.</SPAN>5}</CODE> both return <CODE>2<SPAN class="keyword">.</SPAN>0</CODE>. </P></DD><DT><A name="label106"></A><SPAN class="index"><CODE>Sin</CODE></SPAN> <A name="label107"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>sin&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the sine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label108"></A><SPAN class="index"><CODE>Cos</CODE></SPAN> <A name="label109"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>cos&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the cosine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label110"></A><SPAN class="index"><CODE>Tan</CODE></SPAN> <A name="label111"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>tan&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the tangent of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label112"></A><SPAN class="index"><CODE>Asin</CODE></SPAN> <A name="label113"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>asin&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the arc sine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label114"></A><SPAN class="index"><CODE>Acos</CODE></SPAN> <A name="label115"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>acos&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the arc cosine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label116"></A><SPAN class="index"><CODE>Atan</CODE></SPAN> <A name="label117"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>atan&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the arc tangent of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label118"></A><SPAN class="index"><CODE>Atan2</CODE></SPAN> <A name="label119"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>atan2&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>F2</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F3</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the principal value of the arc tangent of <CODE><I>F1</I></CODE><CODE>&nbsp;<SPAN class="keyword">/</SPAN>&nbsp;</CODE><CODE><I>F2</I></CODE>, using the signs of both arguments to determine the quadrant of the return value. An error exception may (but needs not) be raised if both arguments are zero. </P></DD><DT><A name="label120"></A><SPAN class="index"><CODE>Float<SPAN class="keyword">.</SPAN>sinh</CODE></SPAN> <A name="label121"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>sinh&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the hyperbolic sine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label122"></A><SPAN class="index"><CODE>Float<SPAN class="keyword">.</SPAN>cosh</CODE></SPAN> <A name="label123"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>cosh&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the hyperbolic cosine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label124"></A><SPAN class="index"><CODE>Float<SPAN class="keyword">.</SPAN>tanh</CODE></SPAN> <A name="label125"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>tanh&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the hyperbolic tangent of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label126"></A><SPAN class="index"><CODE>Float<SPAN class="keyword">.</SPAN>asinh</CODE></SPAN> <A name="label127"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>asinh&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the inverse hyperbolic sine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label128"></A><SPAN class="index"><CODE>Float<SPAN class="keyword">.</SPAN>acosh</CODE></SPAN> <A name="label129"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>acosh&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the inverse hyperbolic cosine of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label130"></A><SPAN class="index"><CODE>Float<SPAN class="keyword">.</SPAN>atanh</CODE></SPAN> <A name="label131"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>atanh&nbsp;</CODE><CODE>+<I>F1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>F2</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the inverse hyperbolic tangent of&nbsp;<CODE><I>F1</I></CODE>. </P></DD><DT><A name="label132"></A><SPAN class="index"><CODE>FloatToInt</CODE></SPAN> <A name="label134"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>toInt&nbsp;</CODE><CODE>+<I>F</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>I</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the integer closest to float&nbsp;<CODE><I>F</I></CODE>. If there are two candidates, <CODE><I>F</I></CODE> is rounded to the closest even integer, e.&nbsp;g., <CODE>{FloatToInt&nbsp;1<SPAN class="keyword">.</SPAN>5}</CODE> and <CODE>{FloatToInt&nbsp;2<SPAN class="keyword">.</SPAN>5}</CODE> both return&nbsp;<CODE>2</CODE>. </P><DIV class="danger"><P class="margin"><IMG align="top" alt="Danger" src="danger.gif"></P><P> In the current implementation, the value is converted through a signed 32-bit integer, so this function is bogus when applied to large floats. </P></DIV></DD><DT><A name="label135"></A><SPAN class="index"><CODE>FloatToString</CODE></SPAN> <A name="label137"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Float<SPAN class="keyword">.</SPAN>toString&nbsp;</CODE><CODE>+<I>F</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>S</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the string describing the float&nbsp;<CODE><I>F</I></CODE> in Oz concrete syntax. </P></DD></DL><P></P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="int.html#section.numbers.integers">&lt;&lt; Prev</A></TD><TD><A href="node6.html">- Up -</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys&nbsp;Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>