summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/math_func.hpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/core/math_func.hpp b/src/core/math_func.hpp
index d57a3a511..8f31dd273 100644
--- a/src/core/math_func.hpp
+++ b/src/core/math_func.hpp
@@ -318,4 +318,26 @@ static FORCEINLINE uint ToPercent16(uint i)
int LeastCommonMultiple(int a, int b);
int GreatestCommonDivisor(int a, int b);
+/**
+ * Computes ceil(a / b) for non-negative a and b.
+ * @param a Numerator
+ * @param b Denominator
+ * @return Quotient, rounded up
+ */
+static FORCEINLINE uint CeilDiv(uint a, uint b)
+{
+ return (a + b - 1) / b;
+}
+
+/**
+ * Computes round(a / b) for non-negative a and b.
+ * @param a Numerator
+ * @param b Denominator
+ * @return Quotient, rounded to nearest
+ */
+static FORCEINLINE uint RoundDiv(uint a, uint b)
+{
+ return (a + b / 2) / b;
+}
+
#endif /* MATH_FUNC_HPP */