A Discrete-Event Network Simulator
API
random-variable-stream-helper.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2012 University of Washington
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  */
19 #include "ns3/random-variable-stream.h"
20 #include "ns3/config.h"
21 #include "ns3/pointer.h"
22 #include "ns3/log.h"
23 #include "ns3/assert.h"
25 
33 namespace ns3 {
34 
35 NS_LOG_COMPONENT_DEFINE ("RandomVariableStreamHelper");
36 
37 int64_t RandomVariableStreamHelper::AssignStreams (std::string path, int64_t stream)
38 {
40  NS_ASSERT (stream >= 0);
42 
43  std::size_t i = 0;
44  for ( ; i < mc.GetN (); ++i)
45  {
46  PointerValue ptr = mc.Get (i);
48  NS_LOG_DEBUG ("RandomVariableStream found: " << rvs << "; setting stream to " << (stream + i));
49  rvs->SetStream (stream + i);
50  }
51  return i;
52 }
53 
54 } // namespace ns3
void SetStream(int64_t stream)
Specifies the stream number for the RngStream.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
Definition: assert.h:67
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:204
Ptr< Object > Get(std::size_t i) const
Definition: config.cc:75
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
std::size_t GetN(void) const
Definition: config.cc:69
static int64_t AssignStreams(std::string path, int64_t stream)
This helper method can be used to configure the stream number for one or more RNG streams...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Hold objects of type Ptr<T>.
Definition: pointer.h:36
hold a set of objects which match a specific search string.
Definition: config.h:151
MatchContainer LookupMatches(std::string path)
Definition: config.cc:882
The basic uniform Random Number Generator (RNG).
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
Definition: log.h:272
Ptr< T > Get(void) const
Definition: pointer.h:194
ns3::RandomVariableStreamHelper declaration.