![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Utility functions for using a global, resetable random number generator. More...
#include <RandHelper.h>
Static Public Member Functions | |
template<class T > | |
static const T & | getRandomFrom (const std::vector< T > &v, std::mt19937 *rng=0) |
Returns a random element from the given vector. More... | |
static void | initRand (std::mt19937 *which=0, const bool random=false, const int seed=23423) |
Initialises the random number generator with hardware randomness or seed. More... | |
static void | initRandGlobal (std::mt19937 *which=0) |
Reads the given random number options and initialises the random number generator in accordance. More... | |
static void | insertRandOptions () |
Initialises the given options container with random number options. More... | |
static void | loadState (const std::string &state, std::mt19937 *rng=0) |
load rng state from string More... | |
static double | rand (double maxV, std::mt19937 *rng=0) |
Returns a random real number in [0, maxV) More... | |
static double | rand (double minV, double maxV, std::mt19937 *rng=0) |
Returns a random real number in [minV, maxV) More... | |
static int | rand (int maxV, std::mt19937 *rng=0) |
Returns a random integer in [0, maxV-1]. More... | |
static int | rand (int minV, int maxV, std::mt19937 *rng=0) |
Returns a random integer in [minV, maxV-1]. More... | |
static long long int | rand (long long int maxV, std::mt19937 *rng=0) |
Returns a random 64 bit integer in [0, maxV-1]. More... | |
static long long int | rand (long long int minV, long long int maxV, std::mt19937 *rng=0) |
Returns a random 64 bit integer in [minV, maxV-1]. More... | |
static double | rand (std::mt19937 *rng=0) |
Returns a random real number in [0, 1) More... | |
static double | randNorm (double mean, double variance, std::mt19937 *rng=0) |
Access to a random number from a normal distribution. More... | |
static std::string | saveState (std::mt19937 *rng=0) |
save rng state to string More... | |
Static Protected Attributes | |
static std::mt19937 | myRandomNumberGenerator |
the random number generator to use More... | |
Utility functions for using a global, resetable random number generator.
Definition at line 41 of file RandHelper.h.
|
inlinestatic |
Returns a random element from the given vector.
Definition at line 149 of file RandHelper.h.
References rand().
Referenced by MSEdge::getDepartLane(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), AGCity::getRandomStreet(), and AGAdult::randomFreeWorkPosition().
|
static |
Initialises the random number generator with hardware randomness or seed.
Definition at line 61 of file RandHelper.cpp.
References myRandomNumberGenerator.
Referenced by initRandGlobal(), and MSLane::initRNGs().
|
static |
Reads the given random number options and initialises the random number generator in accordance.
Definition at line 77 of file RandHelper.cpp.
References OptionsCont::getBool(), OptionsCont::getInt(), OptionsCont::getOptions(), and initRand().
Referenced by NLBuilder::initRandomness(), main(), MSInsertionControl::MSInsertionControl(), and GNELoadThread::run().
|
static |
Initialises the given options container with random number options.
Definition at line 45 of file RandHelper.cpp.
References OptionsCont::addDescription(), OptionsCont::addOptionSubTopic(), OptionsCont::addSynonyme(), OptionsCont::doRegister(), and OptionsCont::getOptions().
Referenced by AGFrame::fillOptions(), RODFFrame::fillOptions(), RODUAFrame::fillOptions(), ROJTRFrame::fillOptions(), ROMAFrame::fillOptions(), MSFrame::fillOptions(), fillOptions(), and GNELoadThread::fillOptions().
|
inlinestatic |
load rng state from string
Definition at line 165 of file RandHelper.h.
References myRandomNumberGenerator.
Referenced by MSStateHandler::myStartElement().
|
inlinestatic |
Returns a random real number in [0, maxV)
Definition at line 71 of file RandHelper.h.
References rand().
|
inlinestatic |
Returns a random real number in [minV, maxV)
Definition at line 76 of file RandHelper.h.
References rand().
|
inlinestatic |
Returns a random integer in [0, maxV-1].
Definition at line 81 of file RandHelper.h.
References myRandomNumberGenerator.
|
inlinestatic |
Returns a random integer in [minV, maxV-1].
Definition at line 101 of file RandHelper.h.
References rand().
|
inlinestatic |
Returns a random 64 bit integer in [0, maxV-1].
Definition at line 106 of file RandHelper.h.
References myRandomNumberGenerator, and rand().
|
inlinestatic |
Returns a random 64 bit integer in [minV, maxV-1].
Definition at line 130 of file RandHelper.h.
References rand().
|
inlinestatic |
Returns a random real number in [0, 1)
Definition at line 53 of file RandHelper.h.
References myRandomNumberGenerator.
Referenced by MSLCM_LC2013::_wantsChange(), RORouteDef::addAlternative(), RONet::addFlow(), MSRouteHandler::addPersonTrip(), MSRouteHandler::addWalk(), MSLink::blockedAtTime(), NGEdge::buildNBEdge(), MSBaseVehicle::calculateArrivalParams(), RONet::checkFlows(), MSSwarmTrafficLightLogic::choosePolicy(), MSRouteHandler::closePersonFlow(), RORouteHandler::closePersonFlow(), ODMatrix::computeDeparts(), MSInsertionControl::computeRandomDepartOffset(), NGRandomNetBuilder::createNet(), NGRandomNetBuilder::createNewNode(), MSCFModel_Kerner::createVehicleVariables(), MSCFModel_Daniel1::dawdle(), MSCFModel_KraussOrig1::dawdle(), MSCFModel_SmartSK::dawdle(), MSCFModel_Krauss::dawdle2(), MSCFModel_KraussX::dawdleX(), AGPerson::decide(), MSSwarmTrafficLightLogic::decidePolicy(), AGFreeTime::decideTypeOfTrip(), MSInsertionControl::determineCandidates(), MSDevice::equippedByDefaultAssignmentOptions(), MSCFModel_Kerner::finalizeSpeed(), MSCFModel_PWag2009::followSpeed(), MSCFModel_W99::followSpeed(), AGHousehold::generateCars(), AGWorkPosition::generateClosingTime(), AGWorkPosition::generateOpeningTime(), AGCity::generatePopulation(), AGActivities::generateRandomTraffic(), RandomDistributor< SUMOVTypeParameter * >::get(), MSLane::getDepartPosLat(), MSLane::getDepartSpeed(), MSRoutingEngine::getEffortExtra(), AGDataAndStatistics::getInverseExpRandomValue(), AGDataAndStatistics::getPoissonsNumberOfChildren(), AGDataAndStatistics::getRandom(), AGDataAndStatistics::getRandomCityGateByIncoming(), AGDataAndStatistics::getRandomCityGateByOutgoing(), getRandomFrom(), AGDataAndStatistics::getRandomPopDistributed(), IntermodalEdge< E, L, N, V >::getTravelTimeStaticRandomized(), ROEdge::getTravelTimeStaticRandomized(), MSDevice_BTreceiver::inquiryDelaySlots(), MSLane::insertVehicle(), MSEdge::insertVehicle(), MSSOTLTrafficLightLogic::isThresholdPassed(), MSTriggeredRerouter::notifyEnter(), MSDevice_Bluelight::notifyMove(), MESegment::overtake(), SUMOVehicleParserHelper::parseWalkPos(), MSVehicle::planMoveInternal(), rand(), randNorm(), RGBColor::randomHue(), AGPosition::randomPositionInStreet(), AGActivity::randomTimeBetween(), MSTriggeredRerouter::rerouteParkingArea(), MELoop::setApproaching(), MSVehicle::setApproachingForAllLinks(), MSTransportable::Stage_Trip::setArrived(), GUILane::setFunctionalColor(), SigmoidLogic::sigmoidLogic(), NGNet::toNB(), MSCFModel_SmartSK::updateMyHeadway(), MSPModel_Striping::PState::walk(), and RODFDetector::writeEmitterDefinition().
|
inlinestatic |
Access to a random number from a normal distribution.
Definition at line 135 of file RandHelper.h.
References rand().
Referenced by MSCFModel_Wiedemann::_v(), Distribution_Parameterized::sample(), OUProcess::step(), and AGActivityGen::varDepTime().
|
inlinestatic |
save rng state to string
Definition at line 155 of file RandHelper.h.
References myRandomNumberGenerator.
Referenced by MSStateHandler::saveRNGs().
|
staticprotected |
the random number generator to use
Definition at line 176 of file RandHelper.h.
Referenced by initRand(), loadState(), rand(), and saveState().