class Math |
A collection of mathematical functions.
Public Member Functions | |
---|---|
IMPORT_C TInt | ACos ( TReal &, const TReal &) |
IMPORT_C TInt | ASin ( TReal &, const TReal &) |
IMPORT_C TInt | ATan ( TReal &, const TReal &) |
IMPORT_C TInt | ATan ( TReal &, const TReal &, const TReal &) |
IMPORT_C TInt | Cos ( TReal &, const TReal &) |
IMPORT_C Int64 | DivMod64 ( Int64 , Int64 , Int64 &) |
IMPORT_C TInt | Exp ( TReal &, const TReal &) |
IMPORT_C TReal | FRand ( TInt64 &) |
IMPORT_C TInt | Frac ( TReal &, const TReal &) |
IMPORT_C TInt | Int ( TReal &, const TReal &) |
IMPORT_C TInt | Int ( TInt16 &, const TReal &) |
IMPORT_C TInt | Int ( TInt32 &, const TReal &) |
IMPORT_C TBool | IsFinite (const TReal &) |
IMPORT_C TBool | IsInfinite (const TReal &) |
IMPORT_C TBool | IsNaN (const TReal &) |
IMPORT_C TBool | IsZero (const TReal &) |
IMPORT_C TInt | Ln ( TReal &, const TReal &) |
IMPORT_C TInt | Log ( TReal &, const TReal &) |
IMPORT_C TInt | Mod ( TReal &, const TReal &, const TReal &) |
IMPORT_C void | Mul64 ( Int64 , Int64 , Int64 &, Uint64 &) |
TInt | MultPow10X ( TRealX &, TInt ) |
IMPORT_C TReal | Poly ( TReal , const SPoly *) |
IMPORT_C void | PolyX ( TRealX &, const TRealX &, TInt , const TRealX *) |
IMPORT_C TInt | Pow ( TReal &, const TReal &, const TReal &) |
IMPORT_C TInt | Pow10 ( TReal &, const TInt ) |
IMPORT_C TInt | Rand ( TInt64 &) |
IMPORT_C TUint32 | Random () |
IMPORT_C void | Random ( TDes8 &) |
IMPORT_C void | RandomL ( TDes8 &) |
IMPORT_C TUint32 | RandomL () |
IMPORT_C TInt | Round ( TReal &, const TReal &, TInt ) |
IMPORT_C TInt | Sin ( TReal &, const TReal &) |
IMPORT_C TInt | Sqrt ( TReal &, const TReal &) |
IMPORT_C TInt | Tan ( TReal &, const TReal &) |
IMPORT_C Uint64 | UDivMod64 ( Uint64 , Uint64 , Uint64 &) |
IMPORT_C void | UMul64 ( Uint64 , Uint64 , Uint64 &, Uint64 &) |
Private Member Functions | |
---|---|
IMPORT_C void | SetInfinite ( TReal &, TInt ) |
IMPORT_C void | SetNaN ( TReal &) |
IMPORT_C void | SetZero ( TReal &, TInt ) |
IMPORT_C TInt | ACos | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the principal value of the inverse cosine of a number.
IMPORT_C TInt | ASin | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the principal value of the inverse sine of a number.
IMPORT_C TInt | ATan | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the principal value of the inverse tangent of a number.
IMPORT_C TInt | ATan | ( | TReal & | aTrg, |
const TReal & | aSrcY, | |||
const TReal & | aSrcX | |||
) | [static] |
Calculates the angle between the x-axis and a line drawn from the origin to a point represented by its (x,y) co-ordinates.
The co-ordinates are passed as arguments to the function. This function returns the same result as arctan(y/x), but:
1. it adds +/-pi to the result, if x is negative
2. it sets the result to +/-pi/2, if x is zero but y is non-zero.
IMPORT_C TInt | Cos | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the cosine of a number.
IMPORT_C Int64 | DivMod64 | ( | Int64 | aDividend, |
Int64 | aDivisor, | |||
Int64 & | aRemainder | |||
) | [static] |
Divides aDividend by aDivisor.
The quotient is returned, and the remainder is stored in aRemainder. The remainder has same sign as the dividend.
IMPORT_C TInt | Exp | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the value of e to the power of x.
IMPORT_C TReal | FRand | ( | TInt64 & | aSeed | ) | [static] |
Generates a stream of uniformly distributed pseudo-random real numbers in the range, 0 to 1.
TInt64 & aSeed | A reference to a 64-bit seed, which is updated as a result of the call. |
IMPORT_C TInt | Frac | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the fractional part of a number.
The fractional part is that after a decimal point. Truncation is toward zero, so that Frac(2.4)=0.4, Frac(2)=0, Frac(-1)=0, Frac(-1.4)=0.4.
IMPORT_C TInt | Int | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the integer part of a number.
The integer part is that before a decimal point. Truncation is toward zero, so that int(2.4)=2, int(2)=2, int(-1)=-1, int(-1.4)=-1, int(-1.999)=-1.
IMPORT_C TInt | Int | ( | TInt16 & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the integer part of a number.
The integer part is that before a decimal point. Truncation is toward zero, so that int(2.4)=2, int(2)=2, int(-1)=-1, int(-1.4)=-1, int(-1.999)=-1.
This function is suitable when the result is known to be small enough for a 16-bit signed integer.
IMPORT_C TInt | Int | ( | TInt32 & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the integer part of a number.
The integer part is that before a decimal point. Truncation is toward zero, so that int(2.4)=2, int(2)=2, int(-1)=-1, int(-1.4)=-1, int(-1.999)=-1.
This function is suitable when the result is known to be small enough for a 32-bit signed integer.
IMPORT_C TBool | IsFinite | ( | const TReal & | aVal | ) | [static] |
Determines whether a value is finite.
In this context, a value is finite if it is a valid number and is not infinite.
const TReal & aVal | A reference to the value to be checked. |
IMPORT_C TBool | IsInfinite | ( | const TReal & | aVal | ) | [static] |
Determines whether a value is infinite.
const TReal & aVal | A reference to the value to be checked. |
IMPORT_C TBool | IsNaN | ( | const TReal & | aVal | ) | [static] |
Determines whether a value is not a number.
const TReal & aVal | A reference to the value to be checked. |
IMPORT_C TBool | IsZero | ( | const TReal & | aVal | ) | [static] |
Determines whether a value is zero.
const TReal & aVal | A reference to the value to be checked. |
IMPORT_C TInt | Ln | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the natural logarithm of a number.
IMPORT_C TInt | Log | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the logarithm to base 10 of a number.
IMPORT_C TInt | Mod | ( | TReal & | aTrg, |
const TReal & | aSrc, | |||
const TReal & | aModulus | |||
) | [static] |
Calculates the modulo remainder.
This is the value of p mod q, the modulo remainder when dividing p by q. The result is given by p - q int (p/q): it has the same sign as p: thus, 5 mod 3 = 2, -5 mod 3 = -2. No error is raised if non-integer arguments are passed.
IMPORT_C void | Mul64 | ( | Int64 | aX, |
Int64 | aY, | |||
Int64 & | aOutH, | |||
Uint64 & | aOutL | |||
) | [static] |
Multiply aX by aY to generate a 128 bit result.
The high order 64 bits of this calculation are stored in aOutH, and the low order 64 bits are stored in aOutL.
IMPORT_C TReal | Poly | ( | TReal | aVal, |
const SPoly * | aPoly | |||
) | [static] |
Evaluates the polynomial: {a[n]X^n + a[n-1]X^(n-1) + ... + a[2]X^2 + a[1]X^1 + a[0]}.
IMPORT_C void | PolyX | ( | TRealX & | aY, |
const TRealX & | aX, | |||
TInt | aDeg, | |||
const TRealX * | aCoef | |||
) | [static] |
Evaluates the polynomial: {a[n]X^n + a[n-1]X^(n-1) + ... + a[2]X^2 + a[1]X^1 + a[0]}.
TRealX & aY | A reference containing the result. |
const TRealX & aX | The value of the x-variable. |
TInt aDeg | The degree of the polynomial (the highest power of x which is present). |
const TRealX * aCoef | A pointer to a contiguous set of TRealX values containing the coefficients. They must be in the order: a[0], a[1], ..., a[n-1], a[n]. |
IMPORT_C TInt | Pow | ( | TReal & | aTrg, |
const TReal & | aSrc, | |||
const TReal & | aPower | |||
) | [static] |
Calculates the value of x raised to the power of y.
The behaviour conforms to that specified for pow() in the ISO C Standard ISO/IEC 9899 (Annex F), although floating-point exceptions are not supported.
IMPORT_C TInt | Pow10 | ( | TReal & | aTrg, |
const TInt | exp | |||
) | [static] |
Calculates the value of 10 to the power of x.
IMPORT_C TInt | Rand | ( | TInt64 & | aSeed | ) | [static] |
Generates a stream of uniformly distributed pseudo-random integers in the range, 0 to KMaxTInt.
For each stream of pseudo-random numbers you wish to generate, you should pass the reference to the same 64-bit seed on each call to this function. You should not change the seed between calls.
TInt64 & aSeed | A reference to a 64-bit seed, which is updated as a result of the call. |
IMPORT_C TUint32 | Random | ( | ) | [static] |
Gets 32 random bits from the kernel's random number generator.
The returned random data may or may not be cryptographically secure but should be of a high quality for non-cryptographic purposes.
This function uses a cryptographically strong random number generator to generate the random data, which can be slower than insecure generators. If security is not important, a faster generator may be used such as Math::Rand() .
IMPORT_C void | Random | ( | TDes8 & | aRandomValue | ) | [static] |
Fills the provided descriptor with random data up to its current length. The number of random bytes required should be specified by setting the length of the descriptor that is passed to this function.
The returned random data may or may not be cryptographically secure but should be of a high quality for non-cryptographic purposes.
This function uses a cryptographically strong random number generator to generate the random data, which can be slower than insecure generators. If security is not important, a faster generator may be used such as Math::Rand() .
TDes8 & aRandomValue | on return, the descriptor is filled with the requested number of random bytes. |
IMPORT_C void | RandomL | ( | TDes8 & | aRandomValue | ) | [static] |
Fills the provided descriptor with random data up to its current length. The number of random bytes required should be specified by setting the length of the descriptor that is passed to the function.
If the returned random data cannot be guaranteed to be cryptographically secure, the function will leave with KErrNotReady to indicate that the returned data should not be used for cryptographic purposes.
The security strength of the cryptographically strong random number generator is 256 bits.
TDes8 & aRandomValue | on return, the descriptor is filled with the requested number of random bytes. |
IMPORT_C TUint32 | RandomL | ( | ) | [static] |
Gets 32 random bits from the kernel's random number generator.
If the returned random data could not be guaranteed to be cryptographically secure, the function will instead leave with KErrNotReady to indicate that data was not available.
The security strength of the cryptographically strong random number generator is 256 bits.
IMPORT_C TInt | Round | ( | TReal & | aTrg, |
const TReal & | aSrc, | |||
TInt | aDecimalPlaces | |||
) | [static] |
Rounds to a specified number of decimal places.
The function rounds a number to a given number, n, of decimal places. Rounding may be thought of as multiplying the number by 10 to the power of n, rounding to the nearest integer, and then dividing the result by 10 to the power of n and returning that as the answer.
In the process of rounding, numbers ending with .5 are rounded away from zero, so that 1.5 becomes 2, 2.5 becomes 3, -1.5 becomes -2, etc.
IMPORT_C TInt | Sin | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the sine of a number.
IMPORT_C TInt | Sqrt | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the square root of a number.
IMPORT_C TInt | Tan | ( | TReal & | aTrg, |
const TReal & | aSrc | |||
) | [static] |
Calculates the tangent of a number.
IMPORT_C Uint64 | UDivMod64 | ( | Uint64 | aDividend, |
Uint64 | aDivisor, | |||
Uint64 & | aRemainder | |||
) | [static] |
Divides aDividend by aDivisor.
The quotient is returned, and the remainder is stored in aRemainder.
IMPORT_C void | UMul64 | ( | Uint64 | aX, |
Uint64 | aY, | |||
Uint64 & | aOutH, | |||
Uint64 & | aOutL | |||
) | [static] |
Multiply aX by aY to generate a 128 bit result.
The high order 64 bits of this calculation are stored in aOutH, and the low order 64 bits are stored in aOutL.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.