From e8cf533eff778c8056df291e632002e15a0403b3 Mon Sep 17 00:00:00 2001 From: cxl Date: Sat, 23 Mar 2013 10:47:05 +0000 Subject: [PATCH] Core: min/max now defined for 3 and 4 parameters git-svn-id: svn://ultimatepp.org/upp/trunk@5923 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/Defs.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/uppsrc/Core/Defs.h b/uppsrc/Core/Defs.h index f34e9b13e..965148ced 100644 --- a/uppsrc/Core/Defs.h +++ b/uppsrc/Core/Defs.h @@ -214,6 +214,16 @@ static void COMBINE(x, _fn)() template inline const T& min(const T& a, const T& b) { return a < b ? a : b; } template inline const T& max(const T& a, const T& b) { return a > b ? a : b; } +template inline const T& min(const T& a, const T& b, const T& c) +{ return min(a, min(b, c)); } +template inline const T& min(const T& a, const T& b, const T& c, const T& d) +{ return min(min(a, b), min(c, d)); } + +template inline const T& max(const T& a, const T& b, const T& c) +{ return max(a, max(b, c)); } +template inline const T& max(const T& a, const T& b, const T& c, const T& d) +{ return max(max(a, b), max(c, d)); } + template inline T minmax(T x, T _min, T _max) { return min(max(x, _min), _max); }