Jelajahi Sumber

Common: Add a clamp function to math_utils.h

Lioncash 12 tahun lalu
induk
melakukan
2f571a0d9d
1 mengubah file dengan 7 tambahan dan 0 penghapusan
  1. 7 0
      src/common/math_util.h

+ 7 - 0
src/common/math_util.h

@@ -6,11 +6,18 @@
 
 
 #include "common/common.h"
 #include "common/common.h"
 
 
+#include <algorithm>
 #include <vector>
 #include <vector>
 
 
 namespace MathUtil
 namespace MathUtil
 {
 {
 
 
+template<typename T>
+inline T Clamp(const T val, const T& min, const T& max)
+{
+    return std::max(min, std::min(max, val));
+}
+
 static const u64 DOUBLE_SIGN = 0x8000000000000000ULL,
 static const u64 DOUBLE_SIGN = 0x8000000000000000ULL,
     DOUBLE_EXP  = 0x7FF0000000000000ULL,
     DOUBLE_EXP  = 0x7FF0000000000000ULL,
     DOUBLE_FRAC = 0x000FFFFFFFFFFFFFULL,
     DOUBLE_FRAC = 0x000FFFFFFFFFFFFFULL,