The Random Number Generator (RNG) that returns a predetermined sequence. More...
#include <random-variable-stream.h>
Inheritance diagram for ns3::DeterministicRandomVariable:
Collaboration diagram for ns3::DeterministicRandomVariable:Public Member Functions | |
| DeterministicRandomVariable () | |
| Creates a deterministic RNG that will have a predetermined sequence of values. More... | |
| virtual | ~DeterministicRandomVariable () |
| virtual uint32_t | GetInteger (void) |
| Returns the next value in the sequence. More... | |
| virtual double | GetValue (void) |
| Returns the next value in the sequence. More... | |
| void | SetValueArray (double *values, uint64_t length) |
| Sets the array of values that holds the predetermined sequence. More... | |
Public Member Functions inherited from ns3::RandomVariableStream | |
| RandomVariableStream () | |
| virtual | ~RandomVariableStream () |
| int64_t | GetStream (void) const |
| Returns the stream number for this RNG stream. More... | |
| bool | IsAntithetic (void) const |
| Returns true if antithetic values should be generated. More... | |
| void | SetAntithetic (bool isAntithetic) |
| Specifies whether antithetic values should be generated. More... | |
| void | SetStream (int64_t stream) |
| Specifies the stream number for this RNG stream. More... | |
Public Member Functions inherited from ns3::Object | |
| Object () | |
| virtual | ~Object () |
| void | AggregateObject (Ptr< Object > other) |
| void | Dispose (void) |
| Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
| AggregateIterator | GetAggregateIterator (void) const |
| virtual TypeId | GetInstanceTypeId (void) const |
| template<typename T > | |
| Ptr< T > | GetObject (void) const |
| template<typename T > | |
| Ptr< T > | GetObject (TypeId tid) const |
| void | Initialize (void) |
| This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| Constructor. More... | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. More... | |
| uint32_t | GetReferenceCount (void) const |
| Get the reference count of the object. More... | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment. More... | |
| void | Ref (void) const |
| Increment the reference count. More... | |
| void | Unref (void) const |
| Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () |
| Virtual destructor. More... | |
| void | GetAttribute (std::string name, AttributeValue &value) const |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
| static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::RandomVariableStream | |
| static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
| static TypeId | GetTypeId (void) |
| Register this type. More... | |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| static void | Cleanup (void) |
| Noop. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId (void) |
| Get the type ID. More... | |
Private Attributes | |
| uint64_t | m_count |
| Position in the array of values. More... | |
| double * | m_data |
| Array of values to return in sequence. More... | |
| uint64_t | m_next |
| Position of the next value in the array of values. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::RandomVariableStream | |
| RngStream * | Peek (void) const |
| Returns a pointer to the underlying RNG stream. More... | |
Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| virtual void | DoDispose (void) |
| This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
| virtual void | DoInitialize (void) |
| This method is called only once by Object::Initialize. More... | |
| virtual void | NotifyNewAggregate (void) |
| This method is invoked whenever two sets of objects are aggregated together. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) |
| virtual void | NotifyConstructionCompleted (void) |
| This method is invoked once all member attributes have been initialized. More... | |
The Random Number Generator (RNG) that returns a predetermined sequence.
Defines a random variable that has a specified, predetermined sequence. This would be useful when trying to force the RNG to return a known sequence, perhaps to compare NS-3 to some other simulator
Creates a generator that returns successive elements of the values array on successive calls to RandomVariableStream::GetValue. Note that the values in the array are copied and stored by the generator (deep-copy). Also note that the sequence repeats if more values are requested than are present in the array.
Here is an example of how to use this class:
ns3::DeterministicRandomVariable is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 2323 of file random-variable-stream.h.
| ns3::DeterministicRandomVariable::DeterministicRandomVariable | ( | ) |
Creates a deterministic RNG that will have a predetermined sequence of values.
Definition at line 1427 of file random-variable-stream.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 1435 of file random-variable-stream.cc.
References m_data, and NS_LOG_FUNCTION.
|
virtual |
Returns the next value in the sequence.
Implements ns3::RandomVariableStream.
Definition at line 1482 of file random-variable-stream.cc.
References GetValue(), and NS_LOG_FUNCTION.
Here is the call graph for this function:
|
static |
Definition at line 1419 of file random-variable-stream.cc.
References ns3::TypeId::SetParent().
Here is the call graph for this function:
|
virtual |
Returns the next value in the sequence.
Implements ns3::RandomVariableStream.
Definition at line 1468 of file random-variable-stream.cc.
References m_count, m_data, m_next, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by RandomVariableStreamDeterministicTestCase::DoRun(), and GetInteger().
Here is the caller graph for this function:| void ns3::DeterministicRandomVariable::SetValueArray | ( | double * | values, |
| uint64_t | length | ||
| ) |
Sets the array of values that holds the predetermined sequence.
| values | Array of random values to return in sequence. |
| length | Number of values in the array. |
Note that the values in the array are copied and stored (deep-copy).
Definition at line 1446 of file random-variable-stream.cc.
References m_count, m_data, m_next, and NS_LOG_FUNCTION.
Referenced by RandomVariableStreamDeterministicTestCase::DoRun(), and main().
Here is the caller graph for this function:
|
private |
Position in the array of values.
Definition at line 2359 of file random-variable-stream.h.
Referenced by GetValue(), and SetValueArray().
|
private |
Array of values to return in sequence.
Definition at line 2365 of file random-variable-stream.h.
Referenced by GetValue(), SetValueArray(), and ~DeterministicRandomVariable().
|
private |
Position of the next value in the array of values.
Definition at line 2362 of file random-variable-stream.h.
Referenced by GetValue(), and SetValueArray().