Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Namespaces | Functions
Random.h File Reference
#include <ICLUtils/CompatMacros.h>
#include <ICLUtils/Time.h>
#include <ICLUtils/Range.h>
#include <ICLUtils/ClippedCast.h>
#include <cmath>
#include <cstdlib>

Go to the source code of this file.

Classes

struct  icl::utils::RandomSeeder
 Object based random seed caller. More...
class  icl::utils::URand
 lightweight Random generator class for uniform random distributions More...
class  icl::utils::URandI
 lightweight Random generator class for uniform random distributions in positive integer domain More...
class  icl::utils::GRand
 lightweight Random generator class for gaussian distributed numbers More...
class  icl::utils::GRandClip
 lightweight Random generator class for gaussian distributed numbers clipped to a given range More...

Namespaces

namespace  icl
 

The ICL-namespace.


namespace  icl::utils

Functions

void icl::utils::randomSeed (long int seedval)
 Initilaize the random number generator.
void icl::utils::randomSeed ()
 Initilaize the random number generator (with Time::now().toMicroSeconds()).
double icl::utils::random (double max=1)
 Generates random numbers in range [0,1].
double icl::utils::random (double min, double max)
 Generate a random number in range [min,max].
template<class T >
double icl::utils::random (const Range< T > &r)
 equivalent to random (r.minVal,r.maxVal)
unsigned int icl::utils::random (unsigned int max)
 Creates a non-negative random number in range [0,max].
ICLUtils_API double icl::utils::gaussRandom (double mean, double var)
 Generate a gaussian random number with given mean and variance.
double icl::utils::gaussRandom (double mean, double var, const Range< double > &range)
 Generate a gaussian random number with given mean and variance and clips the result to a range.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines