ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/ile5a5.htm

1072 lines
23 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>ILE Math Bindable API Descriptions</title>
<!-- Begin Header Records ========================================= -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- ILE5A SCRIPT A converted by B2H R4.1 (346) (CMS) by NLJONES at -->
<!-- RCHVMX on 25 Feb 1999 at 15:07:42 -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- End Header Records -->
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>ILE Math Bindable API Descriptions</h2>
<p>The following information is provided for each math bindable API.</p>
<dl>
<dt><strong>Definition</strong></dt>
<dd>This column states the nature of the computation performed by the API.<br>
<br>
</dd>
<dt><strong>API Name</strong></dt>
<dd>This column gives the API names of the procedure.<br>
<br>
</dd>
<dt><strong>Parameter Type</strong></dt>
<dd>This column describes the acceptable parameter types that are input to and
output by the specified API, and is indicated by the following characters:
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>I</em></td>
<td align="left" valign="top">32-bit binary integer.</td>
</tr>
<tr>
<td align="left" valign="top"><em>J</em></td>
<td align="left" valign="top">64-bit binary integer.</td>
</tr>
<tr>
<td align="left" valign="top"><em>S</em></td>
<td align="left" valign="top">32-bit single floating-point number.</td>
</tr>
<tr>
<td align="left" valign="top"><em>D</em></td>
<td align="left" valign="top">A 64-bit double floating-point number.</td>
</tr>
<tr>
<td align="left" valign="top"><em>T</em></td>
<td align="left" valign="top">A 32-bit single floating-complex number (both
real and imaginary parts are 32 bits long).</td>
</tr>
<tr>
<td align="left" valign="top"><em>E</em></td>
<td align="left" valign="top">A 64-bit double floating-complex number (both
real and imaginary parts are 64 bits long).</td>
</tr>
</table>
<p><strong>Note:</strong> The characters correspond to the fifth character of
the called API.</p>
</dd>
<dt><strong>Equation</strong></dt>
<dd>This column gives a math equation that represents the computation.
<p>The following notation is used in the equations of the APIs:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>|x|</em></td>
<td align="left" valign="top">denotes the absolute value of x.</td>
</tr>
<tr>
<td align="left" valign="top"><em>sign(x)</em></td>
<td align="left" valign="top">is +1 if x &gt;= 0 or -1 if x &lt; 0.</td>
</tr>
<tr>
<td align="left" valign="top"><em>f</em></td>
<td align="left" valign="top">denotes a function result.</td>
</tr>
<tr>
<td align="left" valign="top"><em>z</em></td>
<td align="left" valign="top">denotes a complex argument, where
<pre>
z = x + iy.
</pre>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>z1 and z2</em></td>
<td align="left" valign="top">denote two complex arguments, where
<pre>
z1 = x1 + iy1 and z2 = x2 +iy2.
</pre>
</td>
</tr>
</table>
</dd>
<dt><strong>No. Inputs</strong></dt>
<dd>This column states how many input parameters must be passed to the routine.
See <a href="ile5a3.htm">Calling Math Bindable APIs</a> for a description of
the format of APIs with 1 or 2 input parameters.<br>
<br>
</dd>
<dt><strong>Input Range</strong></dt>
<dd>This column gives the valid range for input parameters. If a parameter is
not within the range, an error message is issued. (See the table below for a
description of the messages that can be generated by the math bindable APIs.)
<p>For output ranges, see <a href="ile5a2.htm">Data Types and Limits</a> for
information concerning integer data types, real data types, and complex data
types.</p>
</dd>
</dl>
<br>
<p><strong><a name="TBLMATHTAB">Math API Descriptions</a></strong></p>
<br>
&nbsp;&nbsp;Service Program Name: QLEMF<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
<table border width="100%">
<!-- cols="14 12 7 32 7 28" -->
<tr>
<th align="left" valign="bottom">Definition</th>
<th align="left" valign="bottom">API Name</th>
<th align="left" valign="bottom">Para- meter Type</th>
<th align="left" valign="bottom">Equation</th>
<th align="left" valign="bottom">No. Inputs</th>
<th align="left" valign="bottom">Input Range<sup>1</sup></th>
</tr>
<tr>
<td align="left" valign="middle">Absolute Function</td>
<td align="left" valign="middle">CEESxABS</td>
<td align="left" valign="middle">
I<br>
J<br>
S<br>
D<br>
T<br>
E<br>
</td>
<td align="left" valign="middle">
f = |x|<br>
or<br>
f = |z|
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any integer number (for parameter type I and
J).
<p>Any real number (for parameter types S and D).</p>
<p>Any complex number (for parameter types T and E).</p>
</td>
</tr>
<tr>
<td align="left" valign="middle">Arccosine</td>
<td align="left" valign="middle">CEESxACS</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">f = cos<sup>-1</sup>(x)<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">|x| &lt;= 1<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Arcsine</td>
<td align="left" valign="middle">CEESxASN</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">f = sin<sup>-1</sup>(x)<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">|x| &lt;= 1<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Arctangent</td>
<td align="left" valign="middle">CEESxATN</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = tan<sup>-1</sup>(x)<br>
or<br>
f = tan<sup>-1</sup>(z) = tan<sup>-1</sup>(x + iy)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any real argument (for parameter types S and
D).
<p>Any complex argument (for parameter types T and E).</p>
</td>
</tr>
<tr>
<td align="left" valign="middle">Arctangent2</td>
<td align="left" valign="middle">CEESxAT2</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">
f = atan2(y/x)<br><br>
For x &gt; 0,<br>
atan2(y, x) = tan<sup>-1</sup>(y/x).<br>
<br>
For x &lt; 0 and y &gt; 0,<br>
atan2(y, x) = pi + tan<sup>-1</sup>(y/x).<br>
<br>
For x &lt; 0 and y &lt; 0,<br>
atan2(y, x) = -pi + tan<sup>-1</sup>(x/y).
<br>
</td>
<td align="left" valign="middle">2</td>
<td align="left" valign="middle">
y is not equal to 0.0 and <br>
x is not equal to 0.0;<br>
<br>
y is not equal to +INF or -INF and <br>
x is not equal to +INF or -INF<br>
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Conjugate of Complex</td>
<td align="left" valign="middle">CEESxCJG</td>
<td align="left" valign="middle">
T<br>
E
<br>
</td>
<td align="left" valign="middle">f = x - iy for argument z = x + iy.<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any complex number.</td>
</tr>
<tr>
<td align="left" valign="middle">Cosine</td>
<td align="left" valign="middle">CEESxCOS</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = cos(x)<br>
or<br>
f = cos(z) = cos (x + iy)<br>
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument, in radians, such that<br>
|x| &lt;= 0x432921FB54442D18 ~= pi * 2<sup>50</sup><br>
~= 3537118876014220.0.<br>
Any complex number such that<br>
|y| &lt;= 88.7228 for FLOAT4 and<br>
|y| &lt;= 709.7827 for FLOAT8,<br>
and x is any real argument.
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Cotangent</td>
<td align="left" valign="middle">CEESxCTN</td>
<td align="left" valign="middle">
S<br>
D<br>
</td>
<td align="left" valign="middle">f = cot(x)<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument, in radians, such that<br>
|x| &lt;= 0x432921FB54442D18 ~= pi * 2<sup>50</sup><br>
~= 3537118876014220.0.
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Error Function and its Complement</td>
<td align="left" valign="middle">CEESxERF CEESxERC</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle"><br>
<img src="Rv4f000.gif" alt="f equals error function of x equals 2 divided by the square root of pi multiplied by the integral from 0 to x of e raised to minus t squared times d t"><br>
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any real argument</td>
</tr>
<tr>
<td align="left" valign="middle">Exponential Base e</td>
<td align="left" valign="middle">CEESxEXP</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = e<sup>x</sup><br>
or<br>
f = e<sup>z</sup> = e<sup>x+iy</sup>
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
-87.3365 &lt;= x &lt;= 88.7228<br>
(for parameter type S).<br>
-708.3964 &lt;= x &lt;= 709.7827<br>
(for parameter type D).<br>
-87.3365 &lt;= x &lt;= 88.7228 and y is any<br>
real number (for parameter type T).<br>
-708.3964 &lt;= x &lt;= 709.7827 and y is<br>
any real number where<br>
|y| &lt;= 0x432921FB54442D18 ~= pi * 2<sup>50</sup><br>
~= 3537118876014220.0.<br>
(for parameter type E).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Exponentiation</td>
<td align="left" valign="middle">CEESxXPy</td>
<td align="left" valign="middle">
I<br>
J<br>
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">f = x<sup>y</sup> (See note 2)<br>
</td>
<td align="left" valign="middle">2</td>
<td align="left" valign="middle">Any integer arguments (for CEESIXPI, CEESSXPI,
CEESDXPI, CEESTXPI, CEESEXPI, CEESJXPJ, CEESSXPJ, CEESDXPJ, CEESTXPJ,
CEESEXPJ).
<p>Any real argument subject to the condition that if x is negative, y must be
an integer (for CEESSXPS, CEESDXPD).</p>
<p>For complex data types, see the argument for real data types above (for
CEESTXPT, CEESEXPE).<br>
</p>
</td>
</tr>
<tr>
<td align="left" valign="middle">Factorial</td>
<td align="left" valign="middle">CEE4SxFAC</td>
<td align="left" valign="middle">
I<br>
J
<br>
</td>
<td align="left" valign="middle">n! = 1*2*3 ... (n-1)*n.<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">For parameter type I, any integer &lt;=12. For
parameter type J, any integer &lt;=20.<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Floating Complex Divide</td>
<td align="left" valign="middle">CEESxDVD</td>
<td align="left" valign="middle">
T<br>
E
<br>
</td>
<td align="left" valign="middle">f = z<sub>1</sub> / z<sub>2</sub> = (x<sub>1</sub> + iy<sub>1</sub>) / (x<sub>2</sub> + iy<sub>2</sub>)<br>
</td>
<td align="left" valign="middle">2</td>
<td align="left" valign="middle">Any complex number.</td>
</tr>
<tr>
<td align="left" valign="middle">Floating Complex Multiply</td>
<td align="left" valign="middle">CEESxMLT</td>
<td align="left" valign="middle">
T<br>
E
<br>
</td>
<td align="left" valign="middle">f = z<sub>1</sub> * z<sub>2</sub> = (x<sub>1</sub> + iy<sub>1</sub>) * (x<sub>2</sub> + iy<sub>2</sub>)<br>
</td>
<td align="left" valign="middle">2</td>
<td align="left" valign="middle">Any complex number.</td>
</tr>
<tr>
<td align="left" valign="middle">Gamma Function</td>
<td align="left" valign="middle">CEESxGMA</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle"><br>
<img src="RV4F001.gif" alt="f equals gamma function of x equals integral from 0 to plus infinity of t raised to x minus 1 multiplied by e raised to minus t multiplied by d t"><br>
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
0 &lt; x &lt;= 35.04<br>
(for parameter type S).<br>
0 &lt; x &lt;= 171.6243<br>
(for parameter type D).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Hyperbolic Arctangent</td>
<td align="left" valign="middle">CEESxATH</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = tanh<sup>-1</sup>(x)<br>
or<br>
f = tanh<sup>-1</sup>(z) = tanh<sup>-1</sup>(x + iy)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument such that<br>
<br>
|x| &lt;= 1<br>
(for parameter types S and D).<br>
Any complex number such that<br>
x is not equal to 1.0 and y is not equal to 0<br>
(for parameter types T and E).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Hyperbolic Cosine</td>
<td align="left" valign="middle">CEESxCSH</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = cosh(x)<br>
or<br>
f = cosh(z) = cosh(x + iy)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument such that<br>
|x| &lt;= 89.4159 (for FLOAT4)<br>
and |x| &lt;= 709.7827 (for FLOAT8).<br>
Any complex number such that<br>
|x| &lt;= 89.4159 (for FLOAT4)<br>
|x| &lt;= 709.7827 (for FLOAT8).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Hyperbolic Sine</td>
<td align="left" valign="middle">CEESxSNH</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = sinh(x)<br>
or<br>
f = sinh(z) = sinh(x + iy)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument such that<br>
|x| &lt;= 89.4159 (for FLOAT4)<br>
and |x| &lt;= 709.7827 (for FLOAT8).<br>
Any complex number such that<br>
|x| &lt;= 89.4159 (for FLOAT4)<br>
and |x| &lt;= 709.7827 (for FLOAT8).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Hyperbolic Tangent</td>
<td align="left" valign="middle">CEESxTNH</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = tanh(x)<br>
or<br>
f = tanh(z) = tanh(x + iy)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument<br>
(for parameter types S and D).<br>
Any complex number such that<br>
|x| &lt; 43.66825 (for parameter type T),<br>
and |x| &lt; 354.1982<br>
(for parameter type E).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Imaginary Part of Complex</td>
<td align="left" valign="middle">CEESxIMG</td>
<td align="left" valign="middle">
T<br>
E
<br>
</td>
<td align="left" valign="middle">f = y, where z = x + iy.<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any complex number.</td>
</tr>
<tr>
<td align="left" valign="middle">Log Gamma Function</td>
<td align="left" valign="middle">CEESxLGM</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">f = ln(Gamma (x))<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
0 &lt; x &lt;= 4.0850*10<sup>36</sup><br>
(for parameter type S),<br>
and 0.0 &lt; x &lt;= 2<sup>1014</sup><br>
(for parameter type D).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Logarithm Base 10</td>
<td align="left" valign="middle">CEESxLG1</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">f = log<sub>10</sub>(x)<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">x &gt; 0.0<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Logarithm Base 2</td>
<td align="left" valign="middle">CEESxLG2</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">f = log<sub>2</sub>(x)<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">x &gt; 0.0<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Logarithm Base e</td>
<td align="left" valign="middle">CEESxLOG</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = log<sub>e</sub>(x)<br>
or<br>
f = ln(z) = log<sub>e</sub>(|z|) + <em>i</em>atan2(y, x)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
x &gt; 0.0 (for parameter types S<br>
and D).<br>
z is not equal to 0+<em>i</em>0 (for parameter types T<br>
and E).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Modular Arithmetic</td>
<td align="left" valign="middle">CEESxMOD</td>
<td align="left" valign="middle">
I<br>
J<br>
S<br>
D
<br>
</td>
<td align="left" valign="middle">f = remainder of x/y (See note 3)<br>
</td>
<td align="left" valign="middle">2</td>
<td align="left" valign="middle">
Any two integer numbers such that<br>
y is not equal to 0 (for parameter types I and J).<br>
Any two real numbers such that<br>
y is not equal to 0.0 (for parameter types S<br>
and D).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Nearest 64-Bit Integer</td>
<td align="left" valign="middle">CEESxNJN</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">
If x &gt;= 0.0<br>
f = sign(x)*n<br>
where n is the largest 64-bit integer<br>
&lt;= |x + 0.5|<br>
or<br>
If x &lt; 0.0<br>
f = sign(x)*n<br>
where n is the largest 64-bit integer<br>
&lt;= |x - 0.5|
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any real number.</td>
</tr>
<tr>
<td align="left" valign="middle">Nearest Integer</td>
<td align="left" valign="middle">CEESxNIN</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">
If x &gt;= 0.0<br>
f = sign(x)*n<br>
where n is the largest integer<br>
&lt;= |x + 0.5|<br>
or<br>
If x &lt; 0.0<br>
f = sign(x)*n<br>
where n is the largest integer<br>
&lt;= |x - 0.5|
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any real number.</td>
</tr>
<tr>
<td align="left" valign="middle">Nearest Whole Number</td>
<td align="left" valign="middle">CEESxNWN</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">
If x &gt;= 0.0<br>
f = sign(x)*n<br>
where n is the largest integer<br>
&lt;= |x + 0.5|<br>
or<br>
If x &lt; 0.0<br>
f = sign(x)*n<br>
where n is the largest integer<br>
&lt;= |x - 0.5|
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any real number.</td>
</tr>
<tr>
<td align="left" valign="middle">Positive Difference</td>
<td align="left" valign="middle">CEESxDIM</td>
<td align="left" valign="middle">
I<br>
J<br>
S<br>
D
<br>
</td>
<td align="left" valign="middle">
If x &gt; y, f = x - y<br>
or<br>
If x &lt;= y, f = 0
<br>
</td>
<td align="left" valign="middle">2</td>
<td align="left" valign="middle">
Any integer argument<br>
(for parameter types I and J).<br>
Any real number<br>
(for parameter types S and D).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Sine</td>
<td align="left" valign="middle">CEESxSIN</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = sin(x)<br>
or<br>
f = sin(z) = sin(x + iy)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument, in radians, such that<br>
|x| &lt;= 0x432921FB54442D18 ~= pi*2<sup>50</sup><br>
~= 3537118876014220.0<br>
(for parameter types S and D).<br>
Any complex number such that<br>
|y| &lt;= 88.7228 (for parameter type T),<br>
and |y| &lt;= 709.7827, and<br>
|x| &lt;= 0x432921FB54442D18 ~= pi*2<sup>50</sup><br>
~= 3537118876014220.0<br>
(for parameter type E).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Square Root</td>
<td align="left" valign="middle">CEESxSQT</td>
<td align="left" valign="middle">
S<br>
D<br>
S<br>
D
<br>
</td>
<td align="left" valign="middle"><br>
<img src="RV4F002.gif" alt="f equals the square root of x or f equals the square root of z where z is a complex number"><br>
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument such that x &gt;= 0.0<br>
(for parameter types S and D).<br>
Any complex number such that<br>
|z| + |x| &lt;= 1.797693*10<sup>308</sup><br>
(for parameter types T and E).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Tangent</td>
<td align="left" valign="middle">CEESxTAN</td>
<td align="left" valign="middle">
S<br>
D<br>
T<br>
E
<br>
</td>
<td align="left" valign="middle">
f = tan(x)<br>
or<br>
f = tan(z) = tan(x + iy)
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">
Any real argument, in radians, such that<br>
|x| &lt;= 0x432921FB54442D18 ~= pi*2<sup>50</sup><br>
~= 3537118876014220.0<br>
(for parameter types S and D).<br>
Any complex number such that<br>
|y| &lt; 43.66825 (for parameter<br>
type T), and |y| &lt; 354.1982<br>
(for parameter type E).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Transfer of Sign</td>
<td align="left" valign="middle">CEESxSGN</td>
<td align="left" valign="middle">
I<br>
J<br>
S<br>
D
<br>
</td>
<td align="left" valign="middle">f = sign(y)|x|<br>
</td>
<td align="left" valign="middle">2</td>
<td align="left" valign="middle">
Any integer argument<br>
(for parameter types I and J).<br>
Any real number<br>
(for parameter types S and D).
<br>
</td>
</tr>
<tr>
<td align="left" valign="middle">Truncation</td>
<td align="left" valign="middle">CEESxINT</td>
<td align="left" valign="middle">
S<br>
D
<br>
</td>
<td align="left" valign="middle">
f = sign(x)*n,<br>
where n is the largest integer<br>
&lt;= |x|
<br>
</td>
<td align="left" valign="middle">1</td>
<td align="left" valign="middle">Any real number.</td>
</tr>
<tr>
<td align="left" valign="top" colspan="6"><strong>Notes:</strong>
<dl>
<dt><strong>1</strong></dt>
<dd>For output ranges, see <a href="ile5a2.htm">Data Types and Limits</a>,
including information on <a href="ile5a2.htm#Header_4">Integer Data Types</a>,
<a href="ile5a2.htm#Header_5">Real Data Types</a>, and <a href=
"ile5a2.htm#Header_6">Complex Data Types</a>.</dd>
<dt><strong>2</strong></dt>
<dd>Where x and y have the following combinations, respectively:
<pre>
integer, integer
real FLOAT4, integer
real FLOAT8, integer
single complex, integer
double complex, integer
real FLOAT4, integer
real FLOAT8, integer
single complex, integer
double complex, integer
64-bit integer, 64-bit integer
real FLOAT4, 64-bit integer
real FLOAT8, 64-bit integer
single complex, 64-bit integer
double complex, 64-bit integer
real FLOAT4, real FLOAT4
real FLOAT8, real FLOAT8
single complex, single complex
double complex, double complex
</pre>
</dd>
<dt><strong>3</strong></dt>
<dd>The absolute value of the result is always less than the absolute value of
y.</dd>
</dl>
</td>
</tr>
</table>
<br><br>
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center">
<a href="#Top_Of_Page">Top</a> |
<a href="ile1a1.htm">ILE CEE APIs</a> |
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>