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...
Double mean() const
Functions that allow you to query and change the parameters of the Poisson distribution.
2 parameters, the mean and variance.
virtual Double operator()()
Returns a value from the hypergeometric distribution.
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.
2 parameters, mean and variance.
Discrete geometric distribution.
virtual Vector< Double > parameters() const
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.
virtual Vector< Double > parameters() const
Hypergeometric distribution.
virtual Double variance() const
virtual ~RNG()
A virtual destructor is needed to ensure that the destructor of derived classes gets used...
virtual Bool checkParameters(const Vector< Double > &parms) const
Double probability() const
Functions that allow you to query and change the parameters of the geometric uniform distribution...
virtual void setParameters(const Vector< Double > &parms)
These function allow you to manipulate the parameters (mean & variance) described above through the b...
Double mean() const
Functions that allow you to query and change the parameters of the negative exponential distribution...
virtual void setParameters(const Vector< Double > &parms)
These function allow you to manipulate the parameters (mean & variance) described above through the b...
Double mean() const
Functions that allow you to query and change the parameters of the hypergeometric distribution...
Normal or Gaussian distribution.
2 parameters, mean and variance.
bool Bool
Define the standard types used by Casacore.
virtual Double mean() const
Functions that allow you to query and change the parameters of the log-normal distribution.
An non-predefined random number distribution.
2 parameters, mean and variance.
Base class for random number generators.
LatticeExprNode mean(const LatticeExprNode &expr)
virtual Bool checkParameters(const Vector< Double > &parms) const
2 parameters, low and high.
virtual Double mean() const
Functions that allow you to query and change the parameters of the normal distribution.
virtual void reset()=0
Resets the random number generator.
Int seed1() const
Functions that allow the user to retrieve or change the seed integers.
Multiplicative linear congruential generator.
virtual Double variance() 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)
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.