31 #include <casacore/casa/aips.h> 32 #include <casacore/casa/BasicMath/Math.h> 36 template<
class T>
class Vector;
130 virtual void reset() = 0;
237 virtual void reset();
319 virtual void reset();
330 void reseed(
Int s1,
Int s2);
490 virtual Double operator()() = 0;
496 void generator(
RNG* p);
597 virtual Double operator()();
678 virtual Double operator()();
689 void range(
Int low,
Int high);
752 virtual Double operator()();
783 itsVariance(variance)
857 Double probability()
const;
858 void probability(
Double x);
875 return itsProbability;
void reseed(Int s1, Int s2)
Double mean() const
Functions that allow you to query and change the parameters of the discrete uniform distribution...
Negative exponential distribution.
RNG * generator()
Functions that allow you to access and change the class that generates the random bits...
2 parameters, the mean and variance.
virtual Double operator()()
Returns a value from the hypergeometric distribution.
virtual Bool checkParameters(const Vector< Double > &parms) const
Float asFloat()
Return random bits converted to either a Float or a Double.
virtual Double operator()()
Returns a value from the Erlang distribution.
Erlang(RNG *gen, Double mean=1.0, Double variance=1.0)
Construct a random number generator for an Erlang distribution.
virtual Vector< Double > parameters() const
virtual Bool checkParameters(const Vector< Double > &parms) const
2 parameters, mean and variance.
Discrete geometric distribution.
Types
This enumerator lists all the predefined random number distributions.
virtual uInt asuInt()=0
Return the 32-random bits as an unsigned integer.
Base class for random number distributions.
Additive number generator.
Hypergeometric distribution.
virtual ~RNG()
A virtual destructor is needed to ensure that the destructor of derived classes gets used...
Double probability() const
Functions that allow you to query and change the parameters of the geometric uniform distribution...
virtual Double variance() const
virtual void setParameters(const Vector< Double > &parms)
These function allow you to manipulate the parameters (mean & variance) described above through the b...
virtual Double variance() const
virtual Double mean() const
Functions that allow you to query and change the parameters of the normal distribution.
virtual void setParameters(const Vector< Double > &parms)
These function allow you to manipulate the parameters (mean & variance) described above through the b...
Int seed1() const
Functions that allow the user to retrieve or change the seed integers.
Normal or Gaussian distribution.
2 parameters, mean and variance.
bool Bool
Define the standard types used by Casacore.
Double mean() const
Functions that allow you to query and change the parameters of the Poisson distribution.
An non-predefined random number distribution.
2 parameters, mean and variance.
Base class for random number generators.
LatticeExprNode mean(const LatticeExprNode &expr)
2 parameters, low and high.
Double mean() const
Functions that allow you to query and change the parameters of the negative exponential distribution...
virtual void reset()=0
Resets the random number generator.
Multiplicative linear congruential generator.
virtual Vector< Double > parameters() const
String: the storage and methods of handling collections of characters.
uInt n() const
Functions that allow you to query and change the parameters of the binomial distribution.
LatticeExprNode variance(const LatticeExprNode &expr)
virtual Double mean() const
Functions that allow you to query and change the parameters of the log-normal distribution.
HyperGeometric(RNG *gen, Double mean=0.5, Double variance=1.0)
Construct a random number generator for an hypergeometric distribution.
2 parameters, alpha and beta.
this file contains all the compiler specific defines
Logarithmic normal distribution.
Double alpha() const
Functions that allow you to query and change the parameters of the Weiball distribution.
Double mean() const
Functions that allow you to query and change the parameters of the hypergeometric distribution...