diff options
Diffstat (limited to 'src/common/math_util.h')
-rw-r--r-- | src/common/math_util.h | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/common/math_util.h b/src/common/math_util.h index d44b06e74..696bd43ea 100644 --- a/src/common/math_util.h +++ b/src/common/math_util.h @@ -8,33 +8,38 @@ #include <cstdlib> #include <type_traits> -namespace MathUtil -{ +namespace MathUtil { -inline bool IntervalsIntersect(unsigned start0, unsigned length0, unsigned start1, unsigned length1) { +inline bool IntervalsIntersect(unsigned start0, unsigned length0, unsigned start1, + unsigned length1) { return (std::max(start0, start1) < std::min(start0 + length0, start1 + length1)); } -template<typename T> -inline T Clamp(const T val, const T& min, const T& max) -{ +template <typename T> +inline T Clamp(const T val, const T& min, const T& max) { return std::max(min, std::min(max, val)); } -template<class T> -struct Rectangle -{ +template <class T> +struct Rectangle { T left; T top; T right; T bottom; - Rectangle() {} + Rectangle() { + } - Rectangle(T left, T top, T right, T bottom) : left(left), top(top), right(right), bottom(bottom) {} + Rectangle(T left, T top, T right, T bottom) + : left(left), top(top), right(right), bottom(bottom) { + } - T GetWidth() const { return std::abs(static_cast<typename std::make_signed<T>::type>(right - left)); } - T GetHeight() const { return std::abs(static_cast<typename std::make_signed<T>::type>(bottom - top)); } + T GetWidth() const { + return std::abs(static_cast<typename std::make_signed<T>::type>(right - left)); + } + T GetHeight() const { + return std::abs(static_cast<typename std::make_signed<T>::type>(bottom - top)); + } }; -} // namespace MathUtil +} // namespace MathUtil |