From 2c7df30513ae031979c2e2e758520bcfd2bc7d76 Mon Sep 17 00:00:00 2001 From: cxl Date: Tue, 22 Nov 2016 10:02:36 +0000 Subject: [PATCH] Core: still resolving sad abs issues git-svn-id: svn://ultimatepp.org/upp/trunk@10481 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/Algo.h | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/uppsrc/Core/Algo.h b/uppsrc/Core/Algo.h index e5a9c32fe..3b88eaf82 100644 --- a/uppsrc/Core/Algo.h +++ b/uppsrc/Core/Algo.h @@ -4,17 +4,9 @@ inline int sgn(T a) { return a > 0 ? 1 : a < 0 ? -1 : 0; } template inline T tabs(T a) { return (a >= 0 ? a : -a); } -#ifndef COMPILER_MSC -template -inline T abs(T a) { return (a >= 0 ? a : -a); } - -/* -inline double abs(double a) { return (a >= 0 ? a : -a); } -inline float abs(float a) { return (a >= 0 ? a : -a); } -inline int64 abs(int64 a) { return (a >= 0 ? a : -a); } -inline int16 abs(int16 a) { return (a >= 0 ? a : -a); } -inline int8 abs(int8 a) { return (a >= 0 ? a : -a); }*/ -#endif +// there is a general mess about abs, this is not ideal but best we can do now... as long as we +// do not want abs(1.1) == 1 surprise in GCC +template inline T abs(T a) { return (a >= 0 ? a : -a); } template inline int cmp(const T& a, const T& b) { return a > b ? 1 : a < b ? -1 : 0; }