aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/math
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/math')
-rw-r--r--src/libjin/math/je_math.h18
-rw-r--r--src/libjin/math/je_random.cpp6
2 files changed, 16 insertions, 8 deletions
diff --git a/src/libjin/math/je_math.h b/src/libjin/math/je_math.h
index de57e36..ae4017f 100644
--- a/src/libjin/math/je_math.h
+++ b/src/libjin/math/je_math.h
@@ -48,12 +48,6 @@ namespace JinEngine
}
template<typename T>
- inline T abs(T a)
- {
- return a > 0 ? a : -a;
- }
-
- template<typename T>
inline T lowerBound(T a, T lower)
{
return a < lower ? lower : a;
@@ -77,6 +71,18 @@ namespace JinEngine
return a + f * (b - a);
}
+ template<typename T>
+ inline T abs(T a)
+ {
+ return a > 0 ? a : -a;
+ }
+
+ template<typename T>
+ inline T reverse(T a)
+ {
+ return -a;
+ }
+
} // namespace Math
} // namespace JinEngine
diff --git a/src/libjin/math/je_random.cpp b/src/libjin/math/je_random.cpp
index 216fd79..b9313d2 100644
--- a/src/libjin/math/je_random.cpp
+++ b/src/libjin/math/je_random.cpp
@@ -1,4 +1,5 @@
#include <math.h>
+#include "je_math.h"
#include "je_random.h"
namespace JinEngine
@@ -43,9 +44,10 @@ namespace JinEngine
float RandomGenerator::randf(float min, float max, int ac)
{
+ float floor = 0, ceil = max + reverse<float>(min);
uint32 a = pow(10.f, ac);
- uint32 n = rand(min*a, max*a);
- return (float)n / a;
+ uint32 n = rand(floor*a, ceil*a);
+ return (float)n / a + min;
}
}