Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Functions

Misc functions
[Math]

Math functions. More...

Functions

static double ceilDecimal (double x, int decPow)
 rounds x up to the next decimal power 10 ^ decPow
static double roundDecimal (double x, int decPow)
 rounds x to the next decimal power 10 ^ decPow
static double intervalTransformation (double x, double left1, double right1, double left2, double right2)
 transforms point x of interval [left1,right1] into interval [left2,right2]
double linear2log (double x)
 Transforms a number from linear to log10 scale. Avoids negative logarithms by adding 1.
double log2linear (double x)
 Transforms a number from log10 to to linear scale. Subtracts the 1 added by linear2log(double).
bool isOdd (UInt x)
 Returns true if the given interger is odd.
template<typename T >
round (T x)
 Rounds the value.
static bool approximatelyEqual (DoubleReal a, DoubleReal b, DoubleReal tol)
 Returns if a is approximately equal b , allowing a tolerance of tol.
template<typename T >
gcd (T a, T b)
 Returns the greatest common divisor (gcd) of two numbers by applying the Euclidean algorithm.
template<typename T >
gcd (T a, T b, T &u1, T &u2)
 Returns the greatest common divisor by applying the extended Euclidean algorithm (Knuth TAoCP vol. 2, p342). Calculates u1, u2 and u3 (which is returned) so that a * u1 + b * u2 = u3 = gcd(a, b, u1, u2).

Detailed Description

Math functions.

These functions are defined in OpenMS/MATH/MISC/MathFunctions.h .


Function Documentation

static bool OpenMS::Math::approximatelyEqual ( DoubleReal  a,
DoubleReal  b,
DoubleReal  tol 
) [inline, static]

Returns if a is approximately equal b , allowing a tolerance of tol.

static double OpenMS::Math::ceilDecimal ( double  x,
int  decPow 
) [inline, static]

rounds x up to the next decimal power 10 ^ decPow

        e.g.: (123.0 , 1)  => 130
              (123.0 , 2)  => 200
                  (0.123 ,-2)  => 0.13 ( 10^-2 = 0.01 )
        
T OpenMS::Math::gcd ( a,
b 
)

Returns the greatest common divisor (gcd) of two numbers by applying the Euclidean algorithm.

Parameters:
a A number.
b A number.
Returns:
The greatest common divisor.
See also:
gcd(T a, T b, T& a1, T& b1)

References OpenMS::Constants::c.

Referenced by IntegerMassDecomposer< ValueType, DecompositionValueType >::fillExtendedResidueTable_().

T OpenMS::Math::gcd ( a,
b,
T &  u1,
T &  u2 
)

Returns the greatest common divisor by applying the extended Euclidean algorithm (Knuth TAoCP vol. 2, p342). Calculates u1, u2 and u3 (which is returned) so that a * u1 + b * u2 = u3 = gcd(a, b, u1, u2).

Parameters:
a A number.
b A number.
u1 A reference to the number to be returned (see the above formula).
u2 A reference to the number to be returned (see the above formula).
Returns:
The greatest common divisor.
See also:
gcd(T, T)
static double OpenMS::Math::intervalTransformation ( double  x,
double  left1,
double  right1,
double  left2,
double  right2 
) [inline, static]

transforms point x of interval [left1,right1] into interval [left2,right2]

bool OpenMS::Math::isOdd ( UInt  x  )  [inline]
double OpenMS::Math::linear2log ( double  x  )  [inline]

Transforms a number from linear to log10 scale. Avoids negative logarithms by adding 1.

Parameters:
x The number to transform
double OpenMS::Math::log2linear ( double  x  )  [inline]

Transforms a number from log10 to to linear scale. Subtracts the 1 added by linear2log(double).

Parameters:
x The number to transform
T OpenMS::Math::round ( x  ) 
static double OpenMS::Math::roundDecimal ( double  x,
int  decPow 
) [inline, static]

rounds x to the next decimal power 10 ^ decPow

        e.g.: (123.0 , 1)  => 120
              (123.0 , 2)  => 100
        

OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:48 using doxygen 1.7.1