From 45152dad00a95064c39c17fdfd148d11b460313b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 4 Jul 2021 19:13:42 +0200 Subject: [PATCH] Fixed a linker issue --- src/tl/tl/tlMath.h | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/tl/tl/tlMath.h b/src/tl/tl/tlMath.h index 0b174fc35..7a93726ba 100644 --- a/src/tl/tl/tlMath.h +++ b/src/tl/tl/tlMath.h @@ -35,7 +35,7 @@ namespace tl * @brief A generic less operator */ template -bool less (T a, T b) +inline bool less (T a, T b) { return a < b; } @@ -44,7 +44,7 @@ bool less (T a, T b) * @brief A generic equal operator */ template -bool equal (T a, T b) +inline bool equal (T a, T b) { return a == b; } @@ -53,7 +53,7 @@ bool equal (T a, T b) * @brief A generalization of the modulo operator */ template -T modulo (T a, T b) +inline T modulo (T a, T b) { return a % b; } @@ -68,7 +68,7 @@ const double epsilon = 1e-10; /** * @brief A specialization for double values */ -bool less (double a, double b) +inline bool less (double a, double b) { return a < b - tl::epsilon; } @@ -76,7 +76,7 @@ bool less (double a, double b) /** * @brief A specialization for double values */ -bool equal (double a, double b) +inline bool equal (double a, double b) { return fabs (a - b) < tl::epsilon; } @@ -85,7 +85,7 @@ bool equal (double a, double b) * @brief A specialization of the modulo operator for doubles * a % b == a - b * floor (a / b) */ -double modulo (double a, double b) +inline double modulo (double a, double b) { return a - b * floor (a / b + tl::epsilon); } @@ -94,6 +94,7 @@ double modulo (double a, double b) * @brief Compute the greatest common divider of two numbers using the euclidian method */ template +inline T gcd (T a, T b) { while (! equal (b, T (0))) { @@ -108,6 +109,7 @@ T gcd (T a, T b) * @brief Compute the lowest common multiple of two numbers using the euclidian method */ template +inline T lcm (T a, T b) { return a * (b / gcd (a, b)); @@ -116,7 +118,7 @@ T lcm (T a, T b) /** * @brief Rounding down to the closest multiple of g */ -double round_down (double x, double g) +inline double round_down (double x, double g) { return g * floor (x / g + tl::epsilon); } @@ -124,7 +126,7 @@ double round_down (double x, double g) /** * @brief Rounding up to the closest multiple of g */ -double round_up (double x, double g) +inline double round_up (double x, double g) { return g * ceil (x / g - tl::epsilon); } @@ -133,7 +135,7 @@ double round_up (double x, double g) * @brief Rounding to the closest multiple of g * A value of (n+1/2)*g is rounded down. */ -double round (double x, double g) +inline double round (double x, double g) { return g * floor (0.5 + x / g - tl::epsilon); }