/* */ #include "SimpleRandomizer.h" #include "a2time.h" #include #include #include namespace aria2 { SharedHandle SimpleRandomizer::randomizer_; const SharedHandle& SimpleRandomizer::getInstance() { if(!randomizer_) { 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