From 840a749716b597905338423728f89f0162b6ec7a Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 5 Aug 2020 05:37:21 -0700 Subject: [PATCH] Generalized min/max --- BeefLibs/corlib/src/Math.bf | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/BeefLibs/corlib/src/Math.bf b/BeefLibs/corlib/src/Math.bf index f5416218..a5b51885 100644 --- a/BeefLibs/corlib/src/Math.bf +++ b/BeefLibs/corlib/src/Math.bf @@ -358,7 +358,7 @@ namespace System return val1 + (val2 - val1) * pct; } - public static T Min(T val1, T val2) where T : IOpComparable, IIsNaN + public static T Min(T val1, T val2) where bool : operator T < T where T : IIsNaN { if (val1 < val2) return val1; @@ -369,7 +369,14 @@ namespace System return val2; } - public static T Max(T val1, T val2) where T : IOpComparable, IIsNaN + public static T Min(T val1, T val2) where bool : operator T < T + { + if (val1 < val2) + return val1; + return val2; + } + + public static T Max(T val1, T val2) where bool : operator T > T where T : IIsNaN { if (val1 > val2) return val1; @@ -380,6 +387,14 @@ namespace System return val2; } + public static T Max(T val1, T val2) where bool : operator T > T + { + if (val1 > val2) + return val1; + + return val2; + } + public static float Log(float a, float newBase) { if (a.IsNaN)