<html> <head> <title>Global Functions in Namespace in Sourcefile math.h</title> <link rel="stylesheet" type="text/css" href="../cpp.css"> </head> <body> <div id="adc-cppref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="1" cellspacing="0"> <tr align="center" valign="top"> <td class="navimain"> <a href="../index.html">Overview</a> </td> <td class="navimain"> <a href="index.html">Namespace</a> </td> <td class="navimainnone"> Class </td> <td class="navimain"> <a href="../index-files/index-1.html">Index</a> </td> <td class="navimain"> <a href="../help.html">Help</a> </td> </tr> </table> <table class="navisub" cellpadding="0" cellspacing="3"></table> <hr> <div class="title"><h2>Global Functions in Global Namespace C++<br> in Sourcefile math.h</h2> </div><hr> <dl class="member"> <dt class="member"><a name="rtl_math_acosh-1754"> </a>rtl_math_acosh</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_acosh</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Returns values of the inverse hyperbolic cosine. </dd> <dt>Description</dt> <dd> acosh is part of the C99 standard, but not provided by some compilers. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value x in the term acosh(x). </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_approxValue-1747"> </a>rtl_math_approxValue</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_approxValue</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Rounds value to 15 significant decimal digits. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value to be rounded. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_asinh-1753"> </a>rtl_math_asinh</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_asinh</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Returns values of the inverse hyperbolic sine. </dd> <dt>Description</dt> <dd> asinh is part of the C99 standard, but not provided by some compilers. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value x in the term asinh(x). </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_atanh-1750"> </a>rtl_math_atanh</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_atanh</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Returns more accurate atanh(x) for x near 0 than calculating 0.5*log((1+x)/(1-x)). </dd> <dt>Description</dt> <dd>atanh is part of the C99 standard, but not provided by some compilers. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre>The value x in the term atanh(x). </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_doubleToString-1737"> </a>rtl_math_doubleToString</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> void <strong>rtl_math_doubleToString</strong>(</dt> <dd><table class="param-table"> <tr> <td><a href="t-rtl_String.html">rtl_String</a> * * </td> <td> pResult,</td> </tr> <tr> <td><a href="t-sal_Int32.html">sal_Int32</a> *</td> <td>pResultCapacity,</td> </tr> <tr> <td><a href="t-sal_Int32.html">sal_Int32</a></td> <td>nResultOffset,</td> </tr> <tr> <td>double</td> <td>fValue,</td> </tr> <tr> <td><a href="e-rtl_math_StringFormat.html">rtl_math_StringFormat</a></td> <td>eFormat,</td> </tr> <tr> <td><a href="t-sal_Int32.html">sal_Int32</a></td> <td>nDecPlaces,</td> </tr> <tr> <td><a href="t-sal_Char.html">sal_Char</a></td> <td>cDecSeparator,</td> </tr> <tr> <td>const <a href="t-sal_Int32.html">sal_Int32</a> *</td> <td>pGroups,</td> </tr> <tr> <td><a href="t-sal_Char.html">sal_Char</a></td> <td>cGroupSeparator,</td> </tr> <tr> <td><a href="t-sal_Bool.html">sal_Bool</a></td> <td>bEraseTrailingDecZeros );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Conversions analogous to sprintf() using internal rounding. </dd> <dt>Description</dt> <dd> +/-HUGE_VAL are converted to "1.#INF" and "-1.#INF", NAN values are converted to "1.#NAN" and "-1.#NAN", of course using cDecSeparator instead of '.'. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pResult</td> <td><pre> Returns the resulting byte string. Must itself not be null, and must point to either null or a valid string. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pResultCapacity</td> <td><pre> If null, pResult is considered to point to immutable strings, and a new string will be allocated in pResult. If non-null, it points to the current capacity of pResult, which is considered to point to a string buffer (pResult must not itself be null in this case, and must point to a string that has room for the given capacity). The string representation of the given double value is inserted into pResult at position nResultOffset. If pResult's current capacity is too small, a new string buffer will be allocated in pResult as necessary, and pResultCapacity will contain the new capacity on return. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">nResultOffset</td> <td><pre> If pResult is used as a string buffer (i.e., pResultCapacity is non-null), nResultOffset specifies the insertion offset within the buffer. Ignored otherwise. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value to convert. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">eFormat</td> <td><pre> The format to use, one of rtl_math_StringFormat. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">nDecPlaces</td> <td><pre> The number of decimals to be generated. Effectively fValue is rounded at this position, specifying nDecPlaces <= 0 accordingly rounds the value before the decimal point and fills with zeros. If eFormat == rtl_math_StringFormat_Automatic and nDecPlaces == rtl_math_DecimalPlaces_Max, the highest number of significant decimals possible is generated. If eFormat == rtl_math_StringFormat_G, nDecPlaces specifies the number of significant digits instead. If nDecPlaces == rtl_math_DecimalPlaces_DefaultSignificance, the default number (currently 6 as implemented by most libraries) of significant digits is generated. According to the ANSI C90 standard the E style will be used only if the exponent resulting from the conversion is less than -4 or greater than or equal to the precision. However, as opposed to the ANSI standard, trailing zeros are not necessarily removed from the fractional portion of the result unless bEraseTrailingDecZeros == true was specified. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cDecSeparator</td> <td><pre> The decimal separator. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pGroups</td> <td><pre> Either null (no grouping is used), or a null-terminated list of group lengths. Each group length must be strictly positive. If the number of digits in a conversion exceeds the specified range, the last (highest) group length is repeated as needed. Values are applied from right to left, for a grouping of 1,00,00,000 you'd have to specify pGroups={3,2,0}. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cGroupSeparator</td> <td><pre> The group separator. Ignored if pGroups is null. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">bEraseTrailingDecZeros</td> <td><pre> Trailing zeros in decimal places are erased. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_doubleToUString-1739"> </a>rtl_math_doubleToUString</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> void <strong>rtl_math_doubleToUString</strong>(</dt> <dd><table class="param-table"> <tr> <td><a href="t-rtl_uString.html">rtl_uString</a> * * </td> <td> pResult,</td> </tr> <tr> <td><a href="t-sal_Int32.html">sal_Int32</a> *</td> <td>pResultCapacity,</td> </tr> <tr> <td><a href="t-sal_Int32.html">sal_Int32</a></td> <td>nResultOffset,</td> </tr> <tr> <td>double</td> <td>fValue,</td> </tr> <tr> <td><a href="e-rtl_math_StringFormat.html">rtl_math_StringFormat</a></td> <td>eFormat,</td> </tr> <tr> <td><a href="t-sal_Int32.html">sal_Int32</a></td> <td>nDecPlaces,</td> </tr> <tr> <td><a href="t-sal_Unicode.html">sal_Unicode</a></td> <td>cDecSeparator,</td> </tr> <tr> <td>const <a href="t-sal_Int32.html">sal_Int32</a> *</td> <td>pGroups,</td> </tr> <tr> <td><a href="t-sal_Unicode.html">sal_Unicode</a></td> <td>cGroupSeparator,</td> </tr> <tr> <td><a href="t-sal_Bool.html">sal_Bool</a></td> <td>bEraseTrailingDecZeros );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Conversions analogous to sprintf() using internal rounding. </dd> <dt>Description</dt> <dd> +/-HUGE_VAL are converted to "1.#INF" and "-1.#INF", NAN values are converted to "1.#NAN" and "-1.#NAN", of course using cDecSeparator instead of '.'. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pResult</td> <td><pre> Returns the resulting Unicode string. Must itself not be null, and must point to either null or a valid string. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pResultCapacity</td> <td><pre> If null, pResult is considered to point to immutable strings, and a new string will be allocated in pResult. If non-null, it points to the current capacity of pResult, which is considered to point to a string buffer (pResult must not itself be null in this case, and must point to a string that has room for the given capacity). The string representation of the given double value is inserted into pResult at position nResultOffset. If pResult's current capacity is too small, a new string buffer will be allocated in pResult as necessary, and pResultCapacity will contain the new capacity on return. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">nResultOffset</td> <td><pre> If pResult is used as a string buffer (i.e., pResultCapacity is non-null), nResultOffset specifies the insertion offset within the buffer. Ignored otherwise. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value to convert. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">eFormat</td> <td><pre> The format to use, one of rtl_math_StringFormat. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">nDecPlaces</td> <td><pre> The number of decimals to be generated. Effectively fValue is rounded at this position, specifying nDecPlaces <= 0 accordingly rounds the value before the decimal point and fills with zeros. If eFormat == rtl_math_StringFormat_Automatic and nDecPlaces == rtl_math_DecimalPlaces_Max, the highest number of significant decimals possible is generated. If eFormat == rtl_math_StringFormat_G, nDecPlaces specifies the number of significant digits instead. If nDecPlaces == rtl_math_DecimalPlaces_DefaultSignificance, the default number (currently 6 as implemented by most libraries) of significant digits is generated. According to the ANSI C90 standard the E style will be used only if the exponent resulting from the conversion is less than -4 or greater than or equal to the precision. However, as opposed to the ANSI standard, trailing zeros are not necessarily removed from the fractional portion of the result unless bEraseTrailingDecZeros == true was specified. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cDecSeparator</td> <td><pre> The decimal separator. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pGroups</td> <td><pre> Either null (no grouping is used), or a null-terminated list of group lengths. Each group length must be strictly positive. If the number of digits in a conversion exceeds the specified range, the last (highest) group length is repeated as needed. Values are applied from right to left, for a grouping of 1,00,00,000 you'd have to specify pGroups={3,2,0}. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cGroupSeparator</td> <td><pre> The group separator. Ignored if pGroups is null. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">bEraseTrailingDecZeros</td> <td><pre> Trailing zeros in decimal places are erased. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_erf-1751"> </a>rtl_math_erf</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_erf</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Returns values of the Errorfunction erf. </dd> <dt>Description</dt> <dd> erf is part of the C99 standard, but not provided by some compilers. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value x in the term erf(x). </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_erfc-1752"> </a>rtl_math_erfc</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_erfc</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Returns values of the complement Errorfunction erfc. </dd> <dt>Description</dt> <dd> erfc is part of the C99 standard, but not provided by some compilers. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value x in the term erfc(x). </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_expm1-1748"> </a>rtl_math_expm1</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_expm1</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Returns more accurate e^x-1 for x near 0 than calculating directly. </dd> <dt>Description</dt> <dd> expm1 is part of the C99 standard, but not provided by some compilers. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value x in the term e^x-1. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_log1p-1749"> </a>rtl_math_log1p</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_log1p</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Returns more accurate log(1+x) for x near 0 than calculating directly. </dd> <dt>Description</dt> <dd> log1p is part of the C99 standard, but not provided by some compilers. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> The value x in the term log(1+x). </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_pow10Exp-1746"> </a>rtl_math_pow10Exp</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_pow10Exp</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue,</td> </tr> <tr> <td>int</td> <td>nExp );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Scales fVal to a power of 10 without calling pow() or div() for nExp values between -16 and +16, providing a faster method. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre>The value to be raised. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">nExp</td> <td><pre>The exponent. </pre></td> </tr> </table> </dd> <dt>Return</dt> <dd> fVal * pow(10.0, nExp) </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_round-1745"> </a>rtl_math_round</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_round</strong>(</dt> <dd><table class="param-table"> <tr> <td>double </td> <td> fValue,</td> </tr> <tr> <td>int</td> <td>nDecPlaces,</td> </tr> <tr> <td><a href="e-rtl_math_RoundingMode.html">rtl_math_RoundingMode</a></td> <td>eMode );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Rounds a double value. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">fValue</td> <td><pre> Specifies the value to be rounded. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">nDecPlaces</td> <td><pre> Specifies the decimal place where rounding occurs. Must be in the range -20 to +20, inclusive. Negative if rounding occurs before the decimal point. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">eMode</td> <td><pre> Specifies the rounding mode. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_stringToDouble-1741"> </a>rtl_math_stringToDouble</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_stringToDouble</strong>(</dt> <dd><table class="param-table"> <tr> <td>const <a href="t-sal_Char.html">sal_Char</a> * </td> <td> pBegin,</td> </tr> <tr> <td>const <a href="t-sal_Char.html">sal_Char</a> *</td> <td>pEnd,</td> </tr> <tr> <td><a href="t-sal_Char.html">sal_Char</a></td> <td>cDecSeparator,</td> </tr> <tr> <td><a href="t-sal_Char.html">sal_Char</a></td> <td>cGroupSeparator,</td> </tr> <tr> <td><a href="e-rtl_math_ConversionStatus.html">rtl_math_ConversionStatus</a> *</td> <td>pStatus,</td> </tr> <tr> <td>const <a href="t-sal_Char.html">sal_Char</a> * *</td> <td>pParsedEnd );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Conversion analogous to strtod(), convert a string representing a decimal number into a double value. </dd> <dt>Description</dt> <dd>Leading tabs (0x09) and spaces (0x20) are eaten. Overflow returns +/-HUGE_VAL, underflow 0. In both cases pStatus is set to rtl_math_ConversionStatus_OutOfRange, otherwise to rtl_math_ConversionStatus_Ok. "+/-1.#INF" is recognized as +/-HUGE_VAL, pStatus is set to rtl_math_ConversionStatus_OutOfRange. "+/-1.#NAN" is recognized and the value is set to +/-NAN, pStatus is set to rtl_math_ConversionStatus_Ok. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pBegin</td> <td><pre>Points to the start of the byte string to convert. Must not be null. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pEnd</td> <td><pre>Points one past the end of the byte string to convert. The condition pEnd >= pBegin must hold. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cDecSeparator</td> <td><pre>The decimal separator. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cGroupSeparator</td> <td><pre>The group (aka thousands) separator. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pStatus</td> <td><pre>If non-null, returns the status of the conversion. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pParsedEnd</td> <td><pre>If non-null, returns one past the position of the last character parsed away. Thus if [pBegin..pEnd) only contains the numerical string to be parsed, *pParsedEnd == pEnd on return. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <dl class="member"> <dt class="member"><a name="rtl_math_uStringToDouble-1743"> </a>rtl_math_uStringToDouble</dt> <dd class="member"><dl> <dt class="simple">extern "C"<br> double <strong>rtl_math_uStringToDouble</strong>(</dt> <dd><table class="param-table"> <tr> <td>const <a href="t-sal_Unicode.html">sal_Unicode</a> * </td> <td> pBegin,</td> </tr> <tr> <td>const <a href="t-sal_Unicode.html">sal_Unicode</a> *</td> <td>pEnd,</td> </tr> <tr> <td><a href="t-sal_Unicode.html">sal_Unicode</a></td> <td>cDecSeparator,</td> </tr> <tr> <td><a href="t-sal_Unicode.html">sal_Unicode</a></td> <td>cGroupSeparator,</td> </tr> <tr> <td><a href="e-rtl_math_ConversionStatus.html">rtl_math_ConversionStatus</a> *</td> <td>pStatus,</td> </tr> <tr> <td>const <a href="t-sal_Unicode.html">sal_Unicode</a> * *</td> <td>pParsedEnd );</td> </tr> </table> </dd> </dl> <br> </dd> <dd class="member"><table class="flag-table" border="1" cellspacing="0"> <tr> <td width="12%" class="flagname">virtual</td> <td width="12%" class="flagname">abstract</td> <td width="12%" class="flagname">const</td> <td width="12%" class="flagname">volatile</td> <td width="12%" class="flagname">template</td> <td width="12%" class="flagname">static</td> <td width="12%" class="flagname">inline</td> <td width="12%" class="flagname">C-linkage</td> </tr> <tr> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagyes">YES</td> </tr> </table> <br> </dd> <dd class="member"><dl> <dt>Summary</dt> <dd>Conversion analogous to strtod(), convert a string representing a decimal number into a double value. </dd> <dt>Description</dt> <dd>Leading tabs (U+0009) and spaces (U+0020) are eaten. Overflow returns +/-HUGE_VAL, underflow 0. In both cases pStatus is set to rtl_math_ConversionStatus_OutOfRange, otherwise to rtl_math_ConversionStatus_Ok. "+/-1.#INF" is recognized as +/-HUGE_VAL, pStatus is set to rtl_math_ConversionStatus_OutOfRange. "+/-1.#NAN" is recognized and the value is set to +/-NAN, pStatus is set to rtl_math_ConversionStatus_Ok. </dd> <dt>Parameters</dt> <dd><table border="0" width="100%" cellpadding="3" cellspacing="0" class="expl-table"> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pBegin</td> <td><pre>Points to the start of the Unicode string to convert. Must not be null. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pEnd</td> <td><pre>Points one past the end of the Unicode string to convert. The condition pEnd >= pBegin must hold. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cDecSeparator</td> <td><pre>The decimal separator. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">cGroupSeparator</td> <td><pre>The group (aka thousands) separator. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pStatus</td> <td><pre>If non-null, returns the status of the conversion. </pre></td> </tr> <tr> <td width="15%" style="vertical-align:top; font-weight:bold">pParsedEnd</td> <td><pre>If non-null, returns one past the position of the last character parsed away. Thus if [pBegin..pEnd) only contains the numerical string to be parsed, *pParsedEnd == pEnd on return. </pre></td> </tr> </table> </dd> </dl> </dd> </dl> <hr> <a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-cppref" --> </body> </html>