Math functions.
More...
|
| double | ceilDecimal (double x, int decPow) |
| | rounds x up to the next decimal power 10 ^ decPow
|
| |
| double | roundDecimal (double x, int decPow) |
| | rounds x to the next decimal power 10 ^ decPow
|
| |
| 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 integer is odd.
|
| |
| template<typename T > |
| T | round (T x) |
| | Rounds the value.
|
| |
| bool | approximatelyEqual (double a, double b, double tol) |
| | Returns if a is approximately equal b , allowing a tolerance of tol.
|
| |
| template<typename T > |
| T | gcd (T a, T b) |
| | Returns the greatest common divisor (gcd) of two numbers by applying the Euclidean algorithm.
|
| |
| 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)
|
| |
Math functions.
These functions are defined in OpenMS/MATH/MathFunctions.h .
◆ approximatelyEqual()
| bool approximatelyEqual |
( |
double |
a, |
|
|
double |
b, |
|
|
double |
tol |
|
) |
| |
|
inline |
Returns if a is approximately equal b , allowing a tolerance of tol.
◆ ceilDecimal()
| double ceilDecimal |
( |
double |
x, |
|
|
int |
decPow |
|
) |
| |
|
inline |
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 )
◆ gcd() [1/2]
◆ gcd() [2/2]
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)
- Parameters
-
| [in] | a | A number. |
| [in] | b | A number. |
| [out] | u1 | A reference to the number to be returned (see the above formula). |
| [out] | u2 | A reference to the number to be returned (see the above formula). |
- Returns
- The greatest common divisor.
- See also
- gcd(T, T)
◆ intervalTransformation()
| double intervalTransformation |
( |
double |
x, |
|
|
double |
left1, |
|
|
double |
right1, |
|
|
double |
left2, |
|
|
double |
right2 |
|
) |
| |
|
inline |
transforms point x of interval [left1,right1] into interval [left2,right2]
◆ isOdd()
Returns true if the given integer is odd.
◆ linear2log()
| double linear2log |
( |
double |
x | ) |
|
|
inline |
Transforms a number from linear to log10 scale. Avoids negative logarithms by adding 1.
- Parameters
-
| [in] | x | The number to transform |
◆ log2linear()
| double log2linear |
( |
double |
x | ) |
|
|
inline |
Transforms a number from log10 to to linear scale. Subtracts the 1 added by linear2log(double)
- Parameters
-
| [in] | x | The number to transform |
◆ round()
◆ roundDecimal()
| double roundDecimal |
( |
double |
x, |
|
|
int |
decPow |
|
) |
| |
|
inline |
rounds x to the next decimal power 10 ^ decPow
e.g.: (123.0 , 1) => 120
(123.0 , 2) => 100