20 #ifndef INCLUDED_RTL_MATH_HXX
21 #define INCLUDED_RTL_MATH_HXX
41 sal_Int32
const * pGroups,
43 bool bEraseTrailingDecZeros =
false)
47 cDecSeparator, pGroups, cGroupSeparator,
48 bEraseTrailingDecZeros);
57 bool bEraseTrailingDecZeros =
false)
61 cDecSeparator, 0, 0, bEraseTrailingDecZeros);
71 sal_Int32
const * pGroups,
73 bool bEraseTrailingDecZeros =
false)
77 cDecSeparator, pGroups, cGroupSeparator,
78 bEraseTrailingDecZeros);
88 bool bEraseTrailingDecZeros =
false)
92 cDecSeparator, 0, 0, bEraseTrailingDecZeros);
101 sal_Int32 nDecPlaces,
103 sal_Int32
const * pGroups,
105 bool bEraseTrailingDecZeros =
false)
107 rtl_uString ** pData;
108 sal_Int32 * pCapacity;
111 eFormat, nDecPlaces, cDecSeparator, pGroups,
112 cGroupSeparator, bEraseTrailingDecZeros);
120 sal_Int32 nDecPlaces,
122 bool bEraseTrailingDecZeros =
false)
124 rtl_uString ** pData;
125 sal_Int32 * pCapacity;
128 eFormat, nDecPlaces, cDecSeparator, 0, 0,
129 bEraseTrailingDecZeros);
137 sal_Int32 * pParsedEnd = 0)
143 cDecSeparator, cGroupSeparator,
146 *pParsedEnd = (sal_Int32)(pEnd - pBegin);
156 sal_Int32 * pParsedEnd = 0)
162 cDecSeparator, cGroupSeparator,
165 *pParsedEnd = (sal_Int32)(pEnd - pBegin);
172 double fValue,
int nDecPlaces = 0,
215 inline double erf(
double fValue)
222 inline double erfc(
double fValue)
253 return (x < 0.0 ? -x : x)
254 < ((a < 0.0 ? -a : a) * (1.0 / (16777216.0 * 16777216.0)));
267 return (x < 0.0 ? -x : x)
268 < ((a < 0.0 ? -a : a) * (1.0 / (pow(static_cast<double>(2.0), nPrec))));
282 if ( ((a < 0.0 && b > 0.0) || (b < 0.0 && a > 0.0))
295 if ( ((a < 0.0 && b < 0.0) || (a > 0.0 && b > 0.0)) &&
approxEqual( a, b ) )
322 return SAL_MATH_FINITE(d);
334 return !SAL_MATH_FINITE(d) &&
335 (
reinterpret_cast< sal_math_Double *
>(&d)->inf_parts.fraction_hi == 0)
336 && (
reinterpret_cast< sal_math_Double *
>(&d)->inf_parts.fraction_lo
345 return !SAL_MATH_FINITE(d) && (
346 (
reinterpret_cast< sal_math_Double *
>(&d)->inf_parts.fraction_hi != 0)
347 || (
reinterpret_cast< sal_math_Double *
>(&d)->inf_parts.fraction_lo
355 return reinterpret_cast< sal_math_Double *
>(&d)->inf_parts.sign != 0;
360 inline void setInf(
double * pd,
bool bNegative)
367 md.w32_parts.msw = bNegative ? 0xFFF00000 : 0x7FF00000;
368 md.w32_parts.lsw = 0;
381 md.w32_parts.msw = 0x7FFFFFFF;
382 md.w32_parts.lsw = 0xFFFFFFFF;
398 <= (
static_cast< double >(
static_cast< unsigned long >(0x80000000))
399 *
static_cast< double >(
static_cast< unsigned long >(0x80000000))
405 inline double sin(
double d)
415 inline double cos(
double d)
425 inline double tan(
double d)
437 #endif // INCLUDED_RTL_MATH_HXX