OpenMS
2.5.0
|
Math functions. More...
Functions | |
static double | ceilDecimal (double x, int decPow) |
rounds x up to the next decimal power 10 ^ decPow More... | |
static double | roundDecimal (double x, int decPow) |
rounds x to the next decimal power 10 ^ decPow More... | |
static double | intervalTransformation (double x, double left1, double right1, double left2, double right2) |
transforms point x of interval [left1,right1] into interval [left2,right2] More... | |
double | linear2log (double x) |
Transforms a number from linear to log10 scale. Avoids negative logarithms by adding 1. More... | |
double | log2linear (double x) |
Transforms a number from log10 to to linear scale. Subtracts the 1 added by linear2log(double) More... | |
bool | isOdd (UInt x) |
Returns true if the given integer is odd. More... | |
template<typename T > | |
T | round (T x) |
Rounds the value. More... | |
static bool | approximatelyEqual (double a, double b, double tol) |
Returns if a is approximately equal b , allowing a tolerance of tol . More... | |
template<typename T > | |
T | gcd (T a, T b) |
Returns the greatest common divisor (gcd) of two numbers by applying the Euclidean algorithm. More... | |
template<typename T > | |
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) More... | |
Math functions.
These functions are defined in OpenMS/MATH/MISC/MathFunctions.h .
Returns if a
is approximately equal b
, allowing a tolerance of tol
.
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 | ( | T | a, |
T | b | ||
) |
Returns the greatest common divisor (gcd) of two numbers by applying the Euclidean algorithm.
a | A number. |
b | A number. |
References OpenMS::Constants::c.
Referenced by IntegerMassDecomposer< ValueType, DecompositionValueType >::fillExtendedResidueTable_().
T OpenMS::Math::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)
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). |
|
inlinestatic |
transforms point x
of interval [left1,right1] into interval [left2,right2]
|
inline |
Returns true if the given integer is odd.
Referenced by MorphologicalFilter::filter().
Transforms a number from linear to log10 scale. Avoids negative logarithms by adding 1.
x | The number to transform |
Transforms a number from log10 to to linear scale. Subtracts the 1 added by linear2log(double)
x | The number to transform |
T OpenMS::Math::round | ( | T | x | ) |
Rounds the value.
Referenced by WindowMower::filterPeakSpectrumForTopNInJumpingWindow(), and ContinuousWaveletTransformNumIntegration::integrate_().