00001 // ////////////////////////////////////////////////////////////////////// 00002 // Import section 00003 // ////////////////////////////////////////////////////////////////////// 00004 // STL 00005 #include <cassert> 00006 #include <sstream> 00007 // TraDemGen 00008 #include <trademgen/basic/RandomGenerationContext.hpp> 00009 00010 namespace TRADEMGEN { 00011 00012 // ////////////////////////////////////////////////////////////////////// 00013 RandomGenerationContext::RandomGenerationContext () 00014 : _numberOfRequestsGeneratedSoFar (0), 00015 _cumulativeProbabilitySoFar (0.0) { 00016 } 00017 00018 // ////////////////////////////////////////////////////////////////////// 00019 RandomGenerationContext:: 00020 RandomGenerationContext (const RandomGenerationContext& iRGC) 00021 : _numberOfRequestsGeneratedSoFar (iRGC._numberOfRequestsGeneratedSoFar), 00022 _cumulativeProbabilitySoFar (iRGC._cumulativeProbabilitySoFar) { 00023 } 00024 00025 // ////////////////////////////////////////////////////////////////////// 00026 RandomGenerationContext::~RandomGenerationContext() { 00027 } 00028 00029 // ////////////////////////////////////////////////////////////////////// 00030 const std::string RandomGenerationContext::describe() const { 00031 std::ostringstream oStr; 00032 oStr << _numberOfRequestsGeneratedSoFar 00033 << " => " << _cumulativeProbabilitySoFar; 00034 return oStr.str(); 00035 } 00036 00037 // ////////////////////////////////////////////////////////////////////// 00038 void RandomGenerationContext::incrementGeneratedRequestsCounter() { 00039 ++_numberOfRequestsGeneratedSoFar; 00040 } 00041 00042 // ////////////////////////////////////////////////////////////////////// 00043 void RandomGenerationContext::reset() { 00044 _cumulativeProbabilitySoFar = 0.0; 00045 _numberOfRequestsGeneratedSoFar = 0; 00046 } 00047 00048 }