/* */ #include "SimpleRandomizer.h" #include "a2time.h" #include #include #include namespace aria2 { SharedHandle SimpleRandomizer::_randomizer; SharedHandle SimpleRandomizer::getInstance() { if(_randomizer.isNull()) { _randomizer.reset(new SimpleRandomizer()); } return _randomizer; } void SimpleRandomizer::init() { srand(time(0)^getpid()); } SimpleRandomizer::SimpleRandomizer() {} SimpleRandomizer::~SimpleRandomizer() {} long int SimpleRandomizer::getRandomNumber() { return rand(); } long int SimpleRandomizer::getMaxRandomNumber() { return RAND_MAX; } long int SimpleRandomizer::getRandomNumber(long int to) { return(int32_t)(((double)to)*getRandomNumber()/(getMaxRandomNumber()+1.0)); } long int SimpleRandomizer::operator()(long int to) { return getRandomNumber(to); } } // namespace aria2