RandHelper.cpp

Go to the documentation of this file.
00001 /****************************************************************************/
00007 //
00008 /****************************************************************************/
00009 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
00010 // Copyright 2001-2010 DLR (http://www.dlr.de/) and contributors
00011 /****************************************************************************/
00012 //
00013 //   This program is free software; you can redistribute it and/or modify
00014 //   it under the terms of the GNU General Public License as published by
00015 //   the Free Software Foundation; either version 2 of the License, or
00016 //   (at your option) any later version.
00017 //
00018 /****************************************************************************/
00019 
00020 
00021 // ===========================================================================
00022 // included modules
00023 // ===========================================================================
00024 #ifdef _MSC_VER
00025 #include <windows_config.h>
00026 #else
00027 #include <config.h>
00028 #endif
00029 
00030 #include <utils/options/OptionsCont.h>
00031 #include "RandHelper.h"
00032 #include <ctime>
00033 #include <cmath>
00034 
00035 #ifdef CHECK_MEMORY_LEAKS
00036 #include <foreign/nvwa/debug_new.h>
00037 #endif // CHECK_MEMORY_LEAKS
00038 
00039 
00040 // ===========================================================================
00041 // static member variables
00042 // ===========================================================================
00043 MTRand RandHelper::myRandomNumberGenerator;
00044 
00045 
00046 // ===========================================================================
00047 // member method definitions
00048 // ===========================================================================
00049 void
00050 RandHelper::insertRandOptions() {
00051     OptionsCont &oc = OptionsCont::getOptions();
00052     // registers random number options
00053     oc.addOptionSubTopic("Random Number");
00054 
00055     oc.doRegister("srand", new Option_Integer(23423));
00056     oc.addDescription("srand", "Random Number", "Initialises the random number generator with the given value");
00057 
00058     oc.doRegister("abs-rand", new Option_Bool(false));
00059     oc.addDescription("abs-rand", "Random Number", "Initialises the random number generator with the current system time");
00060 }
00061 
00062 
00063 void
00064 RandHelper::initRandGlobal() {
00065     OptionsCont &oc = OptionsCont::getOptions();
00066     if (oc.getBool("abs-rand")) {
00067         myRandomNumberGenerator.seed();
00068     } else {
00069         myRandomNumberGenerator.seed(oc.getInt("srand"));
00070     }
00071 }
00072 
00073 
00074 /****************************************************************************/
00075 

Generated on Wed May 5 00:06:36 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6