diff options
Diffstat (limited to 'src/libjin/math')
-rw-r--r-- | src/libjin/math/je_math.h | 18 | ||||
-rw-r--r-- | src/libjin/math/je_random.cpp | 6 |
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; } } |