Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: e32math.h
Link against: euser.lib

Class Math

Math

Support

Supported from 5.0

Description

A collection of mathematical functions.

Defined in Math:
ACos(), ASin(), ATan(), Cos(), Exp(), FRand(), Frac(), Int(), IsFinite(), IsInfinite(), IsNaN(), IsZero(), Ln(), Log(), Mod(), PolyX(), Pow(), Pow10(), Rand(), Round()R, Sin(), Sqrt()S, Tan()


Trigonometric functions


ACos()

static TInt ACos(TReal& aTrg,const TReal& aSrc);

Description

Calculates the principal value of the inverse cosine of a number.

Parameters

TReal& aTrg

A reference containing the result in radians, a value between 0 and pi.

const TReal& aSrc

The argument of the arccos function, a value between –1 and +1 inclusive.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


ASin()

static TInt ASin(TReal& aTrg,const TReal& aSrc);

Description

Calculates the principal value of the inverse sine of a number.

Parameters

TReal& aTrg

A reference containing the result in radians, a value between –pi/2 and +pi/2.

const TReal& aSrc

The argument of the arcsin function, a value between – 1 and +1 inclusive.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


ATan()

static TInt ATan(TReal& aTrg,const TReal& aSrc);

Description

Calculates the principal value of the inverse tangent of a number.

Parameters

TReal& aTrg

A reference containing the result in radians, a value between –pi/2 and +pi/2.

const TReal& aSrc

The argument of the arctan function, a value between –infinity and +infinity.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


ATan()

static TInt ATan(TReal& aTrg,const TReal& aSrcT,const TReal& aSrcB);

Description

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:

Parameters

TReal& aTrg

A reference containing the result in radians, a value between –pi exclusive and +pi inclusive.

const Treal& aSrcT

The y argument of the arctan(y/x) function.

const Treal& aSrcB

The x argument of the arctan(y/x) function.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Cos()

static TInt Cos(TReal& aTrg,const TReal& aSrc);

Description

Calculates the cosine of a number.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The argument of the cos function in radians.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Sin()

static TInt Sin(TReal& aTrg,const TReal& aSrc);

Description

Calculates the sine of a number.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The argument of the sin function in radians.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Tan()

static TInt Tan(TReal& aTrg,const TReal& aSrc);

Description

Calculates the tangent of a number.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The argument of the tan function in radians.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.

[Top]


Powers, roots and logs


Exp()

static TInt Exp(TReal& aTrg,const TReal& aSrc);

Description

Calculates the value of e to the power of x.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The power to which e is to be raised.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Pow10()

static TInt Pow10(TReal& aTrg,const TInt exp);

Description

Calculates the value of 10 to the power of x.

Parameters

TReal& aTrg

A reference containing the result.

const TInt exp

The power to which 10 is to be raised.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Ln()

static TInt Ln(TReal& aTrg,const TReal& aSrc);

Description

Calculates the natural logarithm of a number.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The number whose natural logarithm is required.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Log()

static TInt Log(TReal& aTrg,const TReal& aSrc);

Description

Calculates the logarithm to base 10 of a number.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The number whose logarithm is required.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Sqrt()S

static TInt Sqrt(TReal& aTrg,const TReal& aSrc);

Description

Calculates the square root of a number.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The number whose square-root is required.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Pow()

static TInt Pow(TReal& aTrg,const TReal& aSrc1,const TReal& aSrc2);

Description

Calculates the value of y to the power of x.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc1

the y argument of the function

const TReal& aSrc2

the x argument of the function

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.

[Top]


Integer conversion and rounding


Frac()

static TInt Frac(TReal& aTrg,const TReal& aSrc);

Description

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.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The number whose fractional part is required.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Int()

static TInt Int(TReal& aTrg,const TReal& aSrc);

Description

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.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The number whose integer part is required.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Int()

static TInt Int(TInt16& aTrg,const TReal& aSrc);

Description

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.

Parameters

TInt16& aTrg

A reference containing the result.

const TReal& aSrc

The number whose integer part is required.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Int()

static TInt Int(TInt32& aTrg,const TReal& aSrc);

Description

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 in suitable when the result is known to be small enough for a 32-bit signed integer.

Parameters

TInt32& aTrg

A reference containing the result.

const TReal& aSrc

The number whose integer part is required.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Mod()

static TInt Mod(TReal& aTrg,const TReal& aSrc1,const TReal& aSrc2);

Description

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.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc1

The p argument to the mod function

const TReal& aSrc2

The q argument to the mod function

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


Round()R

static TInt Round(TReal& aTrg,const TReal& aSrc,TInt aDecimalPlaces);

Description

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.

Parameters

TReal& aTrg

A reference containing the result.

const TReal& aSrc

The number to be rounded

TInt aDecimalPlaces

The number of decimal places to round to: must be zero or positive

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.

[Top]


Random number generation


Rand()

static TInt Rand(TInt64& aSeed);

Description

Generates a stream of uniformly distributed pseudo-random integers. The numbers are 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.

Parameters

TInt64& aSeed

A reference to a 64-bit seed, which is updated as a result of the call

Return value

TInt

The next pseudo-random number in the sequence.


FRand()

static TReal FRand(Tint64& aSeed);

Description

Generates a stream of uniformly distributed pseudo-random real numbers. The numbers are in the range, 0 to 1.

Parameters

TInt64& aSeed

A reference to a 64-bit seed, which is updated as a result of this call.

Return value

TReal

The next pseudo-random number in the sequence.

[Top]


Polynomial evaluation


PolyX()

static void PolyX(TRealX& aY,const TRealX& aX,TInt aDeg,const TRealX* aCoef);

Description

Evaluates the polynomial {a[n]X^n + a[n-1]X^(n-1) + ... + a[2]X^2 + a[1]X^1 + a[0]}.

Parameters

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].

[Top]


Information functions


IsZero()

static TBool IsZero(const TReal& aVal);

Description

Detremines whether a value is zero.

Parameters

const TReal& aVal

A reference to the value to be checked.

Return value

TBool

True, if aVal is zero; false, otherwise


IsNaN()

static TBool IsNaN(const TReal& aVal);

Description

Determines whether a value is not a number.

Parameters

const TReal& aVal

A reference to the value to be checked.

Return value

TBool

True, if aVal is not a number; false, otherwise


IsInfinite()

static TBool IsInfinite(const TReal& aVal);

Description

Determines whether a value is infinite.

Parameters

const TReal& aVal

A reference to the value to be checked

Return value

TBool

True, if aVal is infinite; false, otherwise


IsFinite()

static TBool IsFinite(const TReal& aVal);

Description

Determines whether a value is finite.

In this context, a value is finite if it is a valid number and is not infinite.

Parameters

const TReal& aVal

A reference to the value to be checked.

Return value

TBool

True, if aVal is finite; false, otherwise