kick
/Users/morten/Programmering/cpp/kick/src/kick/math/random.cpp
00001 //
00002 // Created by morten on 06/12/14.
00003 //
00004 
00005 #include "random.h"
00006 
00007 namespace kick {
00008     Random::Random() : e1(rd()) {
00009 }
00010 
00011 float Random::nextFloat(float min, float maxExcluding) {
00012     float r = next();
00013     while (r == 1.0f){
00014         r = next();
00015     }
00016     return r*(maxExcluding-min) + min;
00017 }
00018 
00019 int Random::nextInt(int min, int max) {
00020     return (int)floor(nextFloat(min, max));
00021 }
00022 
00023 float Random::next(){
00024     return std::generate_canonical<float, 32>(e1);;
00025 }
00026 
00027     void Random::seed(unsigned int s){
00028         e1.seed(s);
00029     }
00030 }
 All Classes Functions Variables