From 2e90f7f8b975d380c3d544995ef6db9d6c8a86d8 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 18 Apr 2010 14:56:05 +0000 Subject: (svn r19670) -Codechange: Add CeilDiv() and RoundDiv() to simplify integer divisions with rounding. --- src/core/math_func.hpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/core') 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 */ -- cgit v1.2.3-54-g00ecf