UDK 3.2.7 C/C++ API Reference
Functions
rtl::math Namespace Reference

Functions

rtl::OString doubleToString (double fValue, rtl_math_StringFormat eFormat, sal_Int32 nDecPlaces, sal_Char cDecSeparator, sal_Int32 const *pGroups, sal_Char cGroupSeparator, bool bEraseTrailingDecZeros=false)
 A wrapper around rtl_math_doubleToString.
rtl::OString doubleToString (double fValue, rtl_math_StringFormat eFormat, sal_Int32 nDecPlaces, sal_Char cDecSeparator, bool bEraseTrailingDecZeros=false)
 A wrapper around rtl_math_doubleToString, with no grouping.
rtl::OUString doubleToUString (double fValue, rtl_math_StringFormat eFormat, sal_Int32 nDecPlaces, sal_Unicode cDecSeparator, sal_Int32 const *pGroups, sal_Unicode cGroupSeparator, bool bEraseTrailingDecZeros=false)
 A wrapper around rtl_math_doubleToUString.
rtl::OUString doubleToUString (double fValue, rtl_math_StringFormat eFormat, sal_Int32 nDecPlaces, sal_Unicode cDecSeparator, bool bEraseTrailingDecZeros=false)
 A wrapper around rtl_math_doubleToUString, with no grouping.
void doubleToUStringBuffer (rtl::OUStringBuffer &rBuffer, double fValue, rtl_math_StringFormat eFormat, sal_Int32 nDecPlaces, sal_Unicode cDecSeparator, sal_Int32 const *pGroups, sal_Unicode cGroupSeparator, bool bEraseTrailingDecZeros=false)
 A wrapper around rtl_math_doubleToUString that appends to an rtl::OUStringBuffer.
void doubleToUStringBuffer (rtl::OUStringBuffer &rBuffer, double fValue, rtl_math_StringFormat eFormat, sal_Int32 nDecPlaces, sal_Unicode cDecSeparator, bool bEraseTrailingDecZeros=false)
 A wrapper around rtl_math_doubleToUString that appends to an rtl::OUStringBuffer, with no grouping.
double stringToDouble (rtl::OString const &rString, sal_Char cDecSeparator, sal_Char cGroupSeparator, rtl_math_ConversionStatus *pStatus=0, sal_Int32 *pParsedEnd=0)
 A wrapper around rtl_math_stringToDouble.
double stringToDouble (rtl::OUString const &rString, sal_Unicode cDecSeparator, sal_Unicode cGroupSeparator, rtl_math_ConversionStatus *pStatus=0, sal_Int32 *pParsedEnd=0)
 A wrapper around rtl_math_uStringToDouble.
double round (double fValue, int nDecPlaces=0, rtl_math_RoundingMode eMode=rtl_math_RoundingMode_Corrected)
 A wrapper around rtl_math_round.
double pow10Exp (double fValue, int nExp)
 A wrapper around rtl_math_pow10Exp.
double approxValue (double fValue)
 A wrapper around rtl_math_approxValue.
double expm1 (double fValue)
 A wrapper around rtl_math_expm1.
double log1p (double fValue)
 A wrapper around rtl_math_log1p.
double atanh (double fValue)
 A wrapper around rtl_math_atanh.
double erf (double fValue)
 A wrapper around rtl_math_erf.
double erfc (double fValue)
 A wrapper around rtl_math_erfc.
double asinh (double fValue)
 A wrapper around rtl_math_asinh.
double acosh (double fValue)
 A wrapper around rtl_math_acosh.
bool approxEqual (double a, double b)
 Test equality of two values with an accuracy of the magnitude of the given values scaled by 2^-48 (4 bits roundoff stripped).
bool approxEqual (double a, double b, sal_Int16 nPrec)
 Test equality of two values with an accuracy defined by nPrec.
double approxAdd (double a, double b)
 Add two values.
double approxSub (double a, double b)
 Substract two values (a-b).
double approxFloor (double a)
 floor() method taking approxValue() into account.
double approxCeil (double a)
 ceil() method taking approxValue() into account.
bool isFinite (double d)
 Tests whether a value is neither INF nor NAN.
bool isInf (double d)
 If a value represents +INF or -INF.
bool isNan (double d)
 Test on any QNAN or SNAN.
bool isSignBitSet (double d)
 If the sign bit is set.
void setInf (double *pd, bool bNegative)
 Set to +INF if bNegative==false or -INF if bNegative==true.
void setNan (double *pd)
 Set a QNAN.
bool isValidArcArg (double d)
 If a value is a valid argument for sin(), cos(), tan().
double sin (double d)
 Safe sin(), returns NAN if not valid.
double cos (double d)
 Safe cos(), returns NAN if not valid.
double tan (double d)
 Safe tan(), returns NAN if not valid.

Function Documentation

double rtl::math::acosh ( double  fValue) [inline]

A wrapper around rtl_math_acosh.

double rtl::math::approxAdd ( double  a,
double  b 
) [inline]

Add two values.

If signs differ and the absolute values are equal according to approxEqual() the method returns 0.0 instead of calculating the sum.

If you wanted to sum up multiple values it would be convenient not to call approxAdd() for each value but instead remember the first value not equal to 0.0, add all other values using normal + operator, and with the result and the remembered value call approxAdd().

double rtl::math::approxCeil ( double  a) [inline]

ceil() method taking approxValue() into account.

Use for expected integer values being calculated by double functions.

bool rtl::math::approxEqual ( double  a,
double  b 
) [inline]

Test equality of two values with an accuracy of the magnitude of the given values scaled by 2^-48 (4 bits roundoff stripped).

Attention:
approxEqual( value!=0.0, 0.0 ) _never_ yields true.
bool rtl::math::approxEqual ( double  a,
double  b,
sal_Int16  nPrec 
) [inline]

Test equality of two values with an accuracy defined by nPrec.

Attention:
approxEqual( value!=0.0, 0.0 ) _never_ yields true.
double rtl::math::approxFloor ( double  a) [inline]

floor() method taking approxValue() into account.

Use for expected integer values being calculated by double functions.

double rtl::math::approxSub ( double  a,
double  b 
) [inline]

Substract two values (a-b).

If signs are identical and the values are equal according to approxEqual() the method returns 0.0 instead of calculating the substraction.

double rtl::math::approxValue ( double  fValue) [inline]

A wrapper around rtl_math_approxValue.

double rtl::math::asinh ( double  fValue) [inline]

A wrapper around rtl_math_asinh.

double rtl::math::atanh ( double  fValue) [inline]

A wrapper around rtl_math_atanh.

double rtl::math::cos ( double  d) [inline]

Safe cos(), returns NAN if not valid.

rtl::OString rtl::math::doubleToString ( double  fValue,
rtl_math_StringFormat  eFormat,
sal_Int32  nDecPlaces,
sal_Char  cDecSeparator,
sal_Int32 const *  pGroups,
sal_Char  cGroupSeparator,
bool  bEraseTrailingDecZeros = false 
) [inline]

A wrapper around rtl_math_doubleToString.

rtl::OString rtl::math::doubleToString ( double  fValue,
rtl_math_StringFormat  eFormat,
sal_Int32  nDecPlaces,
sal_Char  cDecSeparator,
bool  bEraseTrailingDecZeros = false 
) [inline]

A wrapper around rtl_math_doubleToString, with no grouping.

rtl::OUString rtl::math::doubleToUString ( double  fValue,
rtl_math_StringFormat  eFormat,
sal_Int32  nDecPlaces,
sal_Unicode  cDecSeparator,
bool  bEraseTrailingDecZeros = false 
) [inline]

A wrapper around rtl_math_doubleToUString, with no grouping.

rtl::OUString rtl::math::doubleToUString ( double  fValue,
rtl_math_StringFormat  eFormat,
sal_Int32  nDecPlaces,
sal_Unicode  cDecSeparator,
sal_Int32 const *  pGroups,
sal_Unicode  cGroupSeparator,
bool  bEraseTrailingDecZeros = false 
) [inline]

A wrapper around rtl_math_doubleToUString.

void rtl::math::doubleToUStringBuffer ( rtl::OUStringBuffer rBuffer,
double  fValue,
rtl_math_StringFormat  eFormat,
sal_Int32  nDecPlaces,
sal_Unicode  cDecSeparator,
sal_Int32 const *  pGroups,
sal_Unicode  cGroupSeparator,
bool  bEraseTrailingDecZeros = false 
) [inline]

A wrapper around rtl_math_doubleToUString that appends to an rtl::OUStringBuffer.

void rtl::math::doubleToUStringBuffer ( rtl::OUStringBuffer rBuffer,
double  fValue,
rtl_math_StringFormat  eFormat,
sal_Int32  nDecPlaces,
sal_Unicode  cDecSeparator,
bool  bEraseTrailingDecZeros = false 
) [inline]

A wrapper around rtl_math_doubleToUString that appends to an rtl::OUStringBuffer, with no grouping.

double rtl::math::erf ( double  fValue) [inline]

A wrapper around rtl_math_erf.

double rtl::math::erfc ( double  fValue) [inline]

A wrapper around rtl_math_erfc.

double rtl::math::expm1 ( double  fValue) [inline]

A wrapper around rtl_math_expm1.

bool rtl::math::isFinite ( double  d) [inline]

Tests whether a value is neither INF nor NAN.

bool rtl::math::isInf ( double  d) [inline]

If a value represents +INF or -INF.

The sign bit may be queried with isSignBitSet().

If isFinite(d)==false and isInf(d)==false then NAN.

bool rtl::math::isNan ( double  d) [inline]

Test on any QNAN or SNAN.

bool rtl::math::isSignBitSet ( double  d) [inline]

If the sign bit is set.

bool rtl::math::isValidArcArg ( double  d) [inline]

If a value is a valid argument for sin(), cos(), tan().

IEEE 754 specifies that absolute values up to 2^64 (=1.844e19) for the radian must be supported by trigonometric functions. Unfortunately, at least on x86 architectures, the FPU doesn't generate an error pattern for values >2^64 but produces erroneous results instead and sets only the "invalid operation" (IM) flag in the status word :-( Thus the application has to handle it itself.

double rtl::math::log1p ( double  fValue) [inline]

A wrapper around rtl_math_log1p.

double rtl::math::pow10Exp ( double  fValue,
int  nExp 
) [inline]

A wrapper around rtl_math_pow10Exp.

double rtl::math::round ( double  fValue,
int  nDecPlaces = 0,
rtl_math_RoundingMode  eMode = rtl_math_RoundingMode_Corrected 
) [inline]

A wrapper around rtl_math_round.

void rtl::math::setInf ( double *  pd,
bool  bNegative 
) [inline]

Set to +INF if bNegative==false or -INF if bNegative==true.

void rtl::math::setNan ( double *  pd) [inline]

Set a QNAN.

double rtl::math::sin ( double  d) [inline]

Safe sin(), returns NAN if not valid.

double rtl::math::stringToDouble ( rtl::OString const &  rString,
sal_Char  cDecSeparator,
sal_Char  cGroupSeparator,
rtl_math_ConversionStatus pStatus = 0,
sal_Int32 *  pParsedEnd = 0 
) [inline]

A wrapper around rtl_math_stringToDouble.

double rtl::math::stringToDouble ( rtl::OUString const &  rString,
sal_Unicode  cDecSeparator,
sal_Unicode  cGroupSeparator,
rtl_math_ConversionStatus pStatus = 0,
sal_Int32 *  pParsedEnd = 0 
) [inline]

A wrapper around rtl_math_uStringToDouble.

double rtl::math::tan ( double  d) [inline]

Safe tan(), returns NAN if not valid.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines