56 .SetGroupName (
"Core")
57 .AddAttribute(
"Stream",
58 "The stream number for this RNG stream. -1 means \"allocate a stream automatically\". "
59 "Note that if -1 is set, Get will return -1 so that it is not possible to know which "
60 "value was automatically allocated.",
64 MakeIntegerChecker<int64_t>())
65 .AddAttribute(
"Antithetic",
"Set this RNG stream to generate antithetic values",
118 uint64_t base = ((1ULL)<<63);
119 uint64_t target = base + stream;
145 static TypeId tid =
TypeId (
"ns3::UniformRandomVariable")
147 .SetGroupName (
"Core")
149 .AddAttribute(
"Min",
"The lower bound on the values returned by this RNG stream.",
152 MakeDoubleChecker<double>())
153 .AddAttribute(
"Max",
"The upper bound on the values returned by this RNG stream.",
156 MakeDoubleChecker<double>())
183 double v = min +
Peek ()->
RandU01 () * (max - min);
195 return static_cast<uint32_t
> (
GetValue ((
double) (min), (
double) (max) + 1.0) );
216 static TypeId tid =
TypeId (
"ns3::ConstantRandomVariable")
218 .SetGroupName (
"Core")
220 .AddAttribute(
"Constant",
"The constant value returned by this RNG stream.",
223 MakeDoubleChecker<double>())
271 static TypeId tid =
TypeId (
"ns3::SequentialRandomVariable")
273 .SetGroupName (
"Core")
275 .AddAttribute(
"Min",
"The first value of the sequence.",
278 MakeDoubleChecker<double>())
279 .AddAttribute(
"Max",
"One more than the last value of the sequence.",
282 MakeDoubleChecker<double>())
283 .AddAttribute(
"Increment",
"The sequence random variable increment.",
284 StringValue(
"ns3::ConstantRandomVariable[Constant=1]"),
286 MakePointerChecker<RandomVariableStream> ())
287 .AddAttribute(
"Consecutive",
"The number of times each member of the sequence is repeated.",
290 MakeIntegerChecker<uint32_t>());
297 m_currentConsecutive (0),
298 m_isCurrentSet (false)
371 static TypeId tid =
TypeId (
"ns3::ExponentialRandomVariable")
373 .SetGroupName (
"Core")
375 .AddAttribute(
"Mean",
"The mean of the values returned by this RNG stream.",
378 MakeDoubleChecker<double>())
379 .AddAttribute(
"Bound",
"The upper bound on the values returned by this RNG stream.",
382 MakeDoubleChecker<double>())
419 double r = -mean*std::log (v);
422 if (bound == 0 || r <= bound)
432 return static_cast<uint32_t
> (
GetValue (mean, bound) );
453 static TypeId tid =
TypeId (
"ns3::ParetoRandomVariable")
455 .SetGroupName (
"Core")
457 .AddAttribute(
"Mean",
"The mean parameter for the Pareto distribution returned by this RNG stream.",
460 MakeDoubleChecker<double>())
461 .AddAttribute(
"Shape",
"The shape parameter for the Pareto distribution returned by this RNG stream.",
464 MakeDoubleChecker<double>())
465 .AddAttribute(
"Bound",
"The upper bound on the values returned by this RNG stream (if non-zero).",
468 MakeDoubleChecker<double>())
503 double scale = mean * (shape - 1.0) / shape;
515 double r = (scale * ( 1.0 / std::pow (v, 1.0 / shape)));
518 if (bound == 0 || r <= bound)
528 return static_cast<uint32_t
> (
GetValue (mean, shape, bound) );
549 static TypeId tid =
TypeId (
"ns3::WeibullRandomVariable")
551 .SetGroupName (
"Core")
553 .AddAttribute(
"Scale",
"The scale parameter for the Weibull distribution returned by this RNG stream.",
556 MakeDoubleChecker<double>())
557 .AddAttribute(
"Shape",
"The shape parameter for the Weibull distribution returned by this RNG stream.",
560 MakeDoubleChecker<double>())
561 .AddAttribute(
"Bound",
"The upper bound on the values returned by this RNG stream.",
564 MakeDoubleChecker<double>())
598 double exponent = 1.0 / shape;
609 double r = scale * std::pow ( -std::log (v), exponent);
612 if (bound == 0 || r <= bound)
622 return static_cast<uint32_t
> (
GetValue (scale, shape, bound) );
645 static TypeId tid =
TypeId (
"ns3::NormalRandomVariable")
647 .SetGroupName (
"Core")
649 .AddAttribute(
"Mean",
"The mean value for the normal distribution returned by this RNG stream.",
652 MakeDoubleChecker<double>())
653 .AddAttribute(
"Variance",
"The variance value for the normal distribution returned by this RNG stream.",
656 MakeDoubleChecker<double>())
657 .AddAttribute(
"Bound",
"The bound on the values returned by this RNG stream.",
660 MakeDoubleChecker<double>())
712 double v1 = 2 * u1 - 1;
713 double v2 = 2 * u2 - 1;
714 double w = v1 * v1 + v2 * v2;
717 double y = std::sqrt ((-2 * std::log (w)) / w);
718 m_next = mean + v2 * y * std::sqrt (variance);
721 double x1 = mean + v1 * y * std::sqrt (variance);
723 if (std::fabs (x1 - mean) <= bound)
742 return static_cast<uint32_t
> (
GetValue (mean, variance, bound) );
763 static TypeId tid =
TypeId (
"ns3::LogNormalRandomVariable")
765 .SetGroupName (
"Core")
767 .AddAttribute(
"Mu",
"The mu value for the log-normal distribution returned by this RNG stream.",
770 MakeDoubleChecker<double>())
771 .AddAttribute(
"Sigma",
"The sigma value for the log-normal distribution returned by this RNG stream.",
774 MakeDoubleChecker<double>())
847 r2 = v1 * v1 + v2 * v2;
849 while (r2 > 1.0 || r2 == 0);
851 normal = v1 * std::sqrt (-2.0 * std::log (r2) / r2);
853 x = std::exp (sigma * normal + mu);
862 return static_cast<uint32_t
> (
GetValue (mu, sigma));
885 .SetGroupName (
"Core")
887 .AddAttribute(
"Alpha",
"The alpha value for the gamma distribution returned by this RNG stream.",
890 MakeDoubleChecker<double>())
891 .AddAttribute(
"Beta",
"The beta value for the gamma distribution returned by this RNG stream.",
894 MakeDoubleChecker<double>())
947 return GetValue (1.0 + alpha, beta) * std::pow (u, 1.0 / alpha);
951 double d = alpha - 1.0 / 3.0;
952 double c = (1.0 / 3.0) / std::sqrt (d);
961 double variance = 1.0;
975 if (u < 1 - 0.0331 * x * x * x * x)
979 if (std::log (u) < 0.5 * x * x + d * (1 - v + std::log (v)))
992 return static_cast<uint32_t
> (
GetValue (alpha, beta));
1028 double v1 = 2 * u1 - 1;
1029 double v2 = 2 * u2 - 1;
1030 double w = v1 * v1 + v2 * v2;
1033 double y = std::sqrt ((-2 * std::log (w)) / w);
1034 m_next = mean + v2 * y * std::sqrt (variance);
1037 double x1 = mean + v1 * y * std::sqrt (variance);
1039 if (std::fabs (x1 - mean) <= bound)
1059 static TypeId tid =
TypeId (
"ns3::ErlangRandomVariable")
1061 .SetGroupName (
"Core")
1063 .AddAttribute(
"K",
"The k value for the Erlang distribution returned by this RNG stream.",
1066 MakeIntegerChecker<uint32_t>())
1067 .AddAttribute(
"Lambda",
"The lambda value for the Erlang distribution returned by this RNG stream.",
1070 MakeDoubleChecker<double>())
1109 double mean = lambda;
1113 for (
unsigned int i = 0; i < k; ++i)
1126 return static_cast<uint32_t
> (
GetValue (k, lambda));
1156 double r = -mean*std::log (v);
1159 if (bound == 0 || r <= bound)
1171 static TypeId tid =
TypeId (
"ns3::TriangularRandomVariable")
1173 .SetGroupName (
"Core")
1175 .AddAttribute(
"Mean",
"The mean value for the triangular distribution returned by this RNG stream.",
1178 MakeDoubleChecker<double>())
1179 .AddAttribute(
"Min",
"The lower bound on the values returned by this RNG stream.",
1182 MakeDoubleChecker<double>())
1183 .AddAttribute(
"Max",
"The upper bound on the values returned by this RNG stream.",
1186 MakeDoubleChecker<double>())
1221 double mode = 3.0 * mean - min - max;
1231 if (u <= (mode - min) / (max - min) )
1233 return min + std::sqrt (u * (max - min) * (mode - min) );
1237 return max - std::sqrt ( (1 - u) * (max - min) * (max - mode) );
1245 return static_cast<uint32_t
> (
GetValue (mean, min, max) );
1268 .SetGroupName (
"Core")
1270 .AddAttribute(
"N",
"The n value for the Zipf distribution returned by this RNG stream.",
1273 MakeIntegerChecker<uint32_t>())
1274 .AddAttribute(
"Alpha",
"The alpha value for the Zipf distribution returned by this RNG stream.",
1277 MakeDoubleChecker<double>())
1306 for (uint32_t i = 1; i <= n; i++)
1308 m_c += (1.0 / std::pow ((
double)i,alpha));
1319 double sum_prob = 0,zipf_value = 0;
1320 for (uint32_t i = 1; i <=
m_n; i++)
1322 sum_prob +=
m_c / std::pow ((
double)i,
m_alpha);
1336 return static_cast<uint32_t
> (
GetValue (n, alpha));
1359 .SetGroupName (
"Core")
1361 .AddAttribute(
"Alpha",
"The alpha value for the zeta distribution returned by this RNG stream.",
1364 MakeDoubleChecker<double>())
1385 m_b = std::pow (2.0, alpha - 1.0);
1407 X = std::floor (std::pow (u, -1.0 / (
m_alpha - 1.0)));
1408 T = std::pow (1.0 + 1.0 / X,
m_alpha - 1.0);
1409 test = v * X * (T - 1.0) / (
m_b - 1.0);
1411 while ( test > (T /
m_b) );
1420 return static_cast<uint32_t
> (
GetValue (alpha));
1441 static TypeId tid =
TypeId (
"ns3::DeterministicRandomVariable")
1443 .SetGroupName (
"Core")
1477 m_data =
new double[length];
1482 for (uint64_t i = 0; i <
m_count; i++)
1534 static TypeId tid =
TypeId (
"ns3::EmpiricalRandomVariable")
1536 .SetGroupName (
"Core")
1554 if (
emp.size () == 0)
1570 if (r <=
emp.front ().cdf)
1572 return emp.front ().value;
1574 if (r >=
emp.back ().cdf)
1576 return emp.back ().value;
1579 std::vector<ValueCDF>::size_type bottom = 0;
1580 std::vector<ValueCDF>::size_type top =
emp.size () - 1;
1583 std::vector<ValueCDF>::size_type c = (top + bottom) / 2;
1584 if (r >=
emp[c].cdf && r <
emp[c + 1].cdf)
1587 emp[c].value,
emp[c + 1].value,
1620 for (std::vector<ValueCDF>::size_type i = 0; i <
emp.size (); ++i)
1625 std::cerr <<
"Empirical Dist error,"
1626 <<
" current value " << current.
value
1627 <<
" prior value " << prior.
value
1628 <<
" current cdf " << current.
cdf
1629 <<
" prior cdf " << prior.
cdf << std::endl;
1638 double v1,
double v2,
double r)
1641 return (v1 + ((v2 - v1) / (c2 - c1)) * (r - c1));
The Random Number Generator (RNG) that returns a predetermined sequence.
double m_scale
The scale parameter for the Weibull distribution returned by this RNG stream.
double m_current
The current sequence value.
ExponentialRandomVariable()
Creates a exponential distribution RNG with the default values for the mean and upper bound...
Boolean attribute value declarations.
Double attribute value declarations and template implementations.
double GetSigma(void) const
Returns the sigma value for the log-normal distribution returned by this RNG stream.
double m_next
The algorithm produces two values at a time.
double GetAlpha(void) const
Returns the alpha value for the Zipf distribution returned by this RNG stream.
void SetAntithetic(bool isAntithetic)
Specifies whether antithetic values should be generated.
NormalRandomVariable()
Creates a normal distribution RNG with the default values for the mean, variance, and bound...
virtual double GetValue(void)
Returns the next value in the empirical distribution.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
void SetStream(int64_t stream)
Specifies the stream number for this RNG stream.
WeibullRandomVariable()
Creates a Weibull distribution RNG with the default values for the scale, shape, and upper bound...
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a Weibull distribution with the current scale, shape, and upper bound.
AttributeValue implementation for Boolean.
double GetAlpha(void) const
Returns the alpha value for the gamma distribution returned by this RNG stream.
virtual double GetValue(void)
Returns a random double from an exponential distribution with the current mean and upper bound...
double m_alpha
The alpha value for the Zipf distribution returned by this RNG stream.
double GetLambda(void) const
Returns the lambda value for the Erlang distribution returned by this RNG stream. ...
double GetBound(void) const
Returns the upper bound on values that can be returned by this RNG stream.
double m_mean
The mean value for the triangular distribution returned by this RNG stream.
SequentialRandomVariable()
Creates a sequential RNG with the default values for the sequence parameters.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
double m_bound
The upper bound on values that can be returned by this RNG stream.
static TypeId GetTypeId(void)
Hold variables of type string.
String attribute value declarations.
The exponential distribution Random Number Generator (RNG) that allows stream numbers to be set deter...
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a triangular distribution with the current mean...
The Random Number Generator (RNG) that returns a sequential list of values.
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
The normal (Gaussian) distribution Random Number Generator (RNG) that allows stream numbers to be set...
uint64_t m_count
Position in the array of values.
double GetExponentialValue(double mean, double bound)
Returns a random double from an exponential distribution with the specified mean and upper bound...
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
Hold a signed integer type.
double m_mean
The mean parameter for the Pareto distribution returned by this RNG stream.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
virtual double GetValue(void)
Returns a random double from a normal distribution with the current mean, variance, and bound.
virtual ~DeterministicRandomVariable()
static TypeId GetTypeId(void)
double m_shape
The shape parameter for the Weibull distribution returned by this RNG stream.
#define NS_FATAL_ERROR(msg)
Fatal error handling.
uint32_t GetN(void) const
Returns the n value for the Zipf distribution returned by this RNG stream.
int64_t m_stream
The stream number for this RNG stream.
double m_constant
The constant value returned by this RNG stream.
double m_min
The first value of the sequence.
double GetConstant(void) const
Returns the constant value returned by this RNG stream.
double GetMin(void) const
Returns the first value of the sequence.
Ptr< RandomVariableStream > m_increment
The sequence random variable increment.
bool m_nextValid
True if the next value is valid.
virtual double GetValue(void)=0
Returns a random double from the underlying distribution.
static uint64_t GetRun(void)
virtual double Interpolate(double, double, double, double, double)
static TypeId GetTypeId(void)
static TypeId GetTypeId(void)
double m_bound
The upper bound on values that can be returned by this RNG stream.
Ptr< const AttributeAccessor > MakeIntegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
DeterministicRandomVariable()
Creates a deterministic RNG that will have a predetermined sequence of values.
static TypeId GetTypeId(void)
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a gamma distribution with the current alpha and beta...
double m_shape
The shape parameter for the Pareto distribution returned by this RNG stream.
uint32_t m_n
The n value for the Zipf distribution returned by this RNG stream.
int64_t GetStream(void) const
Returns the stream number for this RNG stream.
virtual double GetValue(void)
Returns the next value in the sequence returned by this RNG stream.
RngStream * m_rng
Pointer to the underlying RNG stream.
Combined Multiple-Recursive Generator MRG32k3a.
double * m_data
Array of values to return in sequence.
Ptr< RandomVariableStream > GetIncrement(void) const
Returns the random variable increment for the sequence.
double m_lambda
The lambda value for the Erlang distribution returned by this RNG stream.
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
double m_alpha
The alpha value for the zeta distribution returned by this RNG stream.
virtual double GetValue(void)
Returns the next value in the sequence.
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a Pareto distribution with the current mean, shape, and upper bound.
LogNormalRandomVariable()
Creates a log-normal distribution RNG with the default values for mu and sigma.
double GetScale(void) const
Returns the scale parameter for the Weibull distribution returned by this RNG stream.
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a log-normal distribution with the current mu and sigma...
double GetMin(void) const
Returns the lower bound for the triangular distribution returned by this RNG stream.
uint32_t GetK(void) const
Returns the k value for the Erlang distribution returned by this RNG stream.
Definition of assertion macros NS_ASSERT() and NS_ASSERT_MSG().
double m_max
One more than the last value of the sequence.
uint32_t GetConsecutive(void) const
Returns the number of times each member of the sequence is repeated.
ZetaRandomVariable()
Creates a zeta distribution RNG with the default value for alpha.
uint32_t m_k
The k value for the Erlang distribution returned by this RNG stream.
The gamma distribution Random Number Generator (RNG) that allows stream numbers to be set determinist...
static TypeId GetTypeId(void)
virtual double GetValue(void)
Returns a random double from a triangular distribution with the current mean, min, and max.
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a Zipf distribution with the current n and alpha...
void CDF(double v, double c)
Specifies a point in the empirical distribution.
virtual uint32_t GetInteger(void)
Returns an integer cast of the constant value returned by this RNG stream.
double m_sigma
The sigma value for the log-normal distribution returned by this RNG stream.
static TypeId GetTypeId(void)
ZipfRandomVariable()
Creates a Zipf distribution RNG with the default values for n and alpha.
static TypeId GetTypeId(void)
static TypeId GetTypeId(void)
Register this type.
GammaRandomVariable()
Creates a gamma distribution RNG with the default values for alpha and beta.
double GetMu(void) const
Returns the mu value for the log-normal distribution returned by this RNG stream. ...
uint64_t m_next
Position of the next value in the array of values.
static TypeId GetTypeId(void)
double m_c
The normalization constant.
uint32_t m_consecutive
The number of times each member of the sequence is repeated.
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a normal distribution with the current mean, variance, and bound.
double GetMax(void) const
Returns the upper bound on values that can be returned by this RNG stream.
double m_variance
The variance value for the normal distribution returned by this RNG stream.
static TypeId GetTypeId(void)
double GetMean(void) const
Returns the mean value of the random variables returned by this RNG stream.
double m_mean
The mean value of the random variables returned by this RNG stream.
double GetVariance(void) const
Returns the variance value for the normal distribution returned by this RNG stream.
virtual double GetValue(void)
Returns a random double from a Zipf distribution with the current n and alpha.
virtual double GetValue(void)
Returns the constant value returned by this RNG stream.
bool m_isCurrentSet
Indicates if the current sequence value has been set.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual double GetValue(void)
Returns a random double from an Erlang distribution with the current k and lambda.
double m_mean
The mean value for the normal distribution returned by this RNG stream.
static const double INFINITE_VALUE
static TypeId GetTypeId(void)
Ptr< const AttributeChecker > MakeBooleanChecker(void)
uint32_t m_currentConsecutive
The number of times the sequence has been repeated.
double GetMean(void) const
Returns the mean value for the normal distribution returned by this RNG stream.
void SetValueArray(double *values, uint64_t length)
Sets the array of values that holds the predetermined sequence.
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from an exponential distribution with the current mean and upper bo...
double m_bound
The upper bound on values that can be returned by this RNG stream.
EmpiricalRandomVariable()
Creates an empirical RNG that has a specified, empirical distribution.
double m_beta
The beta value for the gamma distribution returned by this RNG stream.
double RandU01(void)
Generate the next random number for this stream.
bool IsAntithetic(void) const
Returns true if antithetic values should be generated.
virtual double GetValue(void)
Returns a random double from a Weibull distribution with the current scale, shape, and upper bound.
double m_alpha
The alpha value for the gamma distribution returned by this RNG stream.
virtual uint32_t GetInteger(void)
Returns the next value in the sequence.
static uint32_t GetSeed(void)
Get the seed value.
double GetNormalValue(double mean, double variance, double bound)
Returns a random double from a normal distribution with the specified mean, variance, and bound.
double GetMax(void) const
Returns one more than the last value of the sequence.
virtual double GetValue(void)
Returns a random double from a log-normal distribution with the current mu and sigma.
Ptr< const AttributeAccessor > MakeDoubleAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from a zeta distribution with the current alpha.
ParetoRandomVariable()
Creates a Pareto distribution RNG with the default values for the mean, the shape, and upper bound.
double GetBound(void) const
Returns the bound on values that can be returned by this RNG stream.
The Zipf distribution Random Number Generator (RNG) that allows stream numbers to be set deterministi...
The Random Number Generator (RNG) that allows stream numbers to be set deterministically.
virtual uint32_t GetInteger(void)
Returns an integer cast of the next value in the sequence returned by this RNG stream.
double GetBound(void) const
Returns the upper bound on values that can be returned by this RNG stream.
virtual double GetValue(void)
Returns a random double from a zeta distribution with the current alpha.
double GetShape(void) const
Returns the shape parameter for the Weibull distribution returned by this RNG stream.
virtual uint32_t GetInteger(void)
Returns the next value in the empirical distribution.
Integer attribute value declarations and template implementations.
double m_bound
The bound on values that can be returned by this RNG stream.
double GetMean(void) const
Returns the mean parameter for the Pareto distribution returned by this RNG stream.
virtual uint32_t GetInteger(void)
Returns a random unsigned integer from an Erlang distribution with the current k and lambda...
virtual ~RandomVariableStream()
double m_next
The algorithm produces two normal values at a time.
RngStream * Peek(void) const
Returns a pointer to the underlying RNG stream.
double m_b
Just for calculus simplifications.
The triangular distribution Random Number Generator (RNG) that allows stream numbers to be set determ...
static TypeId GetTypeId(void)
double m_max
The upper bound on values that can be returned by this RNG stream.
static TypeId GetTypeId(void)
ErlangRandomVariable()
Creates an Erlang distribution RNG with the default values for k and lambda.
bool m_nextValid
True if the next normal value is valid.
double GetBound(void) const
Returns the upper bound on values that can be returned by this RNG stream.
The Erlang distribution Random Number Generator (RNG) that allows stream numbers to be set determinis...
A base class which provides memory management and object aggregation.
virtual double GetValue(void)
Returns a random double from a Pareto distribution with the current mean, shape, and upper bound...
static uint64_t GetNextStreamIndex(void)
The Random Number Generator (RNG) that has a specified empirical distribution.
double GetBeta(void) const
Returns the beta value for the gamma distribution returned by this RNG stream.
This class can be used to hold variables of floating point type such as 'double' or 'float'...
virtual double GetValue(void)
Returns a random double from a gamma distribution with the current alpha and beta.
double GetAlpha(void) const
Returns the alpha value for the zeta distribution returned by this RNG stream.
Pointer attribute value declarations and template implementations.
The log-normal distribution Random Number Generator (RNG) that allows stream numbers to be set determ...
a unique identifier for an interface.
TriangularRandomVariable()
Creates a triangular distribution RNG with the default values for the mean, lower bound...
TypeId SetParent(TypeId tid)
ConstantRandomVariable()
Creates a constant RNG with the default constant value.
The Pareto distribution Random Number Generator (RNG) that allows stream numbers to be set determinis...
void test(void)
Example use of ns3::SystemThread.
double GetMean(void) const
Returns the mean value for the triangular distribution returned by this RNG stream.
static TypeId GetTypeId(void)
double m_mu
The mu value for the log-normal distribution returned by this RNG stream.
double m_min
The lower bound on values that can be returned by this RNG stream.
The Random Number Generator (RNG) that returns a constant.
The Weibull distribution Random Number Generator (RNG) that allows stream numbers to be set determini...
The zeta distribution Random Number Generator (RNG) that allows stream numbers to be set deterministi...
double GetShape(void) const
Returns the shape parameter for the Pareto distribution returned by this RNG stream.
std::vector< ValueCDF > emp
bool m_isAntithetic
Indicates if antithetic values should be generated by this RNG stream.