Changeset View
Changeset View
Standalone View
Standalone View
source/lib/lib.h
/* Copyright (C) 2010 Wildfire Games. | /* Copyright (C) 2019 Wildfire Games. | ||||
* | * | ||||
* Permission is hereby granted, free of charge, to any person obtaining | * Permission is hereby granted, free of charge, to any person obtaining | ||||
* a copy of this software and associated documentation files (the | * a copy of this software and associated documentation files (the | ||||
* "Software"), to deal in the Software without restriction, including | * "Software"), to deal in the Software without restriction, including | ||||
* without limitation the rights to use, copy, modify, merge, publish, | * without limitation the rights to use, copy, modify, merge, publish, | ||||
* distribute, sublicense, and/or sell copies of the Software, and to | * distribute, sublicense, and/or sell copies of the Software, and to | ||||
* permit persons to whom the Software is furnished to do so, subject to | * permit persons to whom the Software is furnished to do so, subject to | ||||
* the following conditions: | * the following conditions: | ||||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | |||||
**/ | **/ | ||||
#ifndef INCLUDED_LIB | #ifndef INCLUDED_LIB | ||||
#define INCLUDED_LIB | #define INCLUDED_LIB | ||||
#include <cmath> // fabsf | #include <cmath> // fabsf | ||||
#include <limits> // numeric_limits | #include <limits> // numeric_limits | ||||
#include <stdexcept> // out_of_range | #include <stdexcept> // out_of_range | ||||
#include <algorithm> // min, max | |||||
template<typename T> | |||||
T Clamp(T val, T min, T max) | |||||
{ | |||||
ASSERT(min <= max); | |||||
return std::max(min, std::min(val, max)); | |||||
} | |||||
template<typename T> | template<typename T> | ||||
T DivideRoundUp(T dividend, T divisor) | T DivideRoundUp(T dividend, T divisor) | ||||
{ | { | ||||
ASSERT(divisor != 0); | ASSERT(divisor != 0); | ||||
return (dividend + divisor-1) / divisor; | return (dividend + divisor-1) / divisor; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 87 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator