30 #ifndef RIOENGINE_MISC_MATHHELPER_H_
31 #define RIOENGINE_MISC_MATHHELPER_H_
37 static int clampi(
int value,
int min,
int max) {
38 return clamp<int>(value, min, max);
43 static float clampf(
float value,
float min,
float max) {
44 return clamp<float>(value, min, max);
49 static float roundCeil(
float value,
int decimal_places) {
50 int factor = getFactorFromDecimalPlaces(decimal_places);
51 float val = ceilf(value * factor) / factor;
63 int factor = getFactorFromDecimalPlaces(decimal_places);
64 return floorf(value * (
float)factor + 0.5f) / (float)factor;
69 static float roundFloor(
float value,
int decimal_places) {
70 int factor = getFactorFromDecimalPlaces(decimal_places);
71 return floorf(value * (
float)factor) / (float)factor;
76 static T clamp(T _value, T min, T max) {
81 }
else if (value > max) {
90 static int getFactorFromDecimalPlaces(
int decimal_places) {
93 for (
int i=0; i < decimal_places; i++) {
101 #endif // RIOENGINE_MISC_MATHHELPER_H_
static float roundCeil(float value, int decimal_places)
static float clampf(float value, float min, float max)
static float roundNearest(float value, int decimal_places)
static int clampi(int value, int min, int max)
static float roundFloor(float value, int decimal_places)