From 812a6c561b50a2e795a85ded7fd092743062a7a7 Mon Sep 17 00:00:00 2001 From: qw_fuku Date: Sun, 20 Dec 2015 12:46:56 +0900 Subject: [PATCH] =?utf8?q?=E5=9F=BA=E6=9C=AC=E6=A9=9F=E8=83=BD=E8=BF=BD?= =?utf8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Lib/C2/lm/math_util.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Lib/C2/lm/math_util.h b/Lib/C2/lm/math_util.h index 956c471..a87575f 100644 --- a/Lib/C2/lm/math_util.h +++ b/Lib/C2/lm/math_util.h @@ -53,6 +53,35 @@ template inline T pow7( const T& v ) { return pow3( v * v ) * v ; } template inline T pow8( const T& v ) { return pow4( v * v ) ; } +// Å¬—v‘fŽæ“¾ +template +inline int min_elem_idx(const T& e0, const T& e1) +{ + return (e0 < e1) ? 0 : 1; +} +template +inline int min_elem_idx(const T& e0, const T& e1, const T& e2) +{ + if (e2 < e0 && e2 < e1) + return 2; + return min_elem_idx(e0, e1); +} + +// Å‘å—v‘fŽæ“¾ +template +inline int max_elem_idx(const T& e0, const T& e1) +{ + return (e0 > e1) ? 0 : 1; +} +template +inline int max_elem_idx(const T& e0, const T& e1, const T& e2) +{ + if (e2 > e0 && e2 > e1) + return 2; + return max_elem_idx(e0, e1); +} + + template inline T gcd( T a , T b ) { if( b > a ) (std::swap)( a , b ); -- 2.11.0