IT++ Logo
Classes | Namespaces | Typedefs | Functions
random.h File Reference

Definition of classes for random number generators. More...

#include <itpp/base/random_dsfmt.h>
#include <itpp/base/operators.h>
#include <itpp/itexports.h>

Go to the source code of this file.

Classes

class  itpp::Random_Generator
 Base class for random (stochastic) sources. More...
 
class  itpp::Bernoulli_RNG
 Bernoulli distribution. More...
 
class  itpp::I_Uniform_RNG
 Integer uniform distributionExample: Generation of random uniformly distributed integers in the interval [0,10]. More...
 
class  itpp::Uniform_RNG
 Uniform distribution. More...
 
class  itpp::Exponential_RNG
 Exponential distribution. More...
 
class  itpp::Normal_RNG
 Normal distributionNormal (Gaussian) random variables, using a simplified Ziggurat method. More...
 
class  itpp::Gamma_RNG
 Gamma distributionGenerate samples from Gamma(alpha,beta) density, according to the following equation:

\[ x \sim \Gamma(\alpha,\beta) = \frac{\beta^\alpha}{\Gamma(\alpha)}x^{\alpha-1} \exp(-\beta x) \]

. More...

 
class  itpp::Laplace_RNG
 Laplacian distribution. More...
 
class  itpp::Complex_Normal_RNG
 A Complex Normal Source. More...
 
class  itpp::AR1_Normal_RNG
 Filtered normal distribution. More...
 
class  itpp::Weibull_RNG
 Weibull distribution. More...
 
class  itpp::Rayleigh_RNG
 Rayleigh distribution. More...
 
class  itpp::Rice_RNG
 Rice distribution. More...
 

Namespaces

namespace  itpp
 itpp namespace
 

Typedefs

typedef Normal_RNG itpp::Gauss_RNG
 Gauss_RNG is the same as Normal Source.
 
typedef AR1_Normal_RNG itpp::AR1_Gauss_RNG
 AR1_Gauss_RNG is the same as AR1_Normal_RNG.
 

Functions

void itpp::GlobalRNG_reset (unsigned int seed)
 Set the internal seed of the Global Seed Provider.
 
void itpp::GlobalRNG_reset ()
 Reset the internal seed of the Global Seed Provider to the previously set value.
 
unsigned int itpp::GlobalRNG_get_local_seed ()
 Get new seed to initialize thread-local generators.
 
void itpp::GlobalRNG_randomize ()
 Set a random seed for the Global Seed Provider seed.
 
void itpp::GlobalRNG_get_state (ivec &state)
 Save current full state of global seed provider in memory.
 
void itpp::GlobalRNG_set_state (const ivec &state)
 Resume the global seed provider state saved in memory.
 
void itpp::RNG_reset (unsigned int seed)
 Set the seed for all Random Number Generators in the current thread.
 
void itpp::RNG_reset ()
 Reset the seed to the previously set value for all Random Number Generators in the current thread.
 
void itpp::RNG_randomize ()
 Set a random seed for all Random Number Generators in the current thread.
 
void itpp::RNG_get_state (ivec &state)
 Save Random Number generation context used in the current thread.
 
void itpp::RNG_set_state (const ivec &state)
 Resume Random Number generation in the current thread with previously stored context.
 
bin itpp::randb (void)
 Generates a random bit (equally likely 0s and 1s)
 
void itpp::randb (int size, bvec &out)
 Generates a random bit vector (equally likely 0s and 1s)
 
bvec itpp::randb (int size)
 Generates a random bit vector (equally likely 0s and 1s)
 
void itpp::randb (int rows, int cols, bmat &out)
 Generates a random bit matrix (equally likely 0s and 1s)
 
bmat itpp::randb (int rows, int cols)
 Generates a random bit matrix (equally likely 0s and 1s)
 
double itpp::randu (void)
 Generates a random uniform (0,1) number.
 
void itpp::randu (int size, vec &out)
 Generates a random uniform (0,1) vector.
 
vec itpp::randu (int size)
 Generates a random uniform (0,1) vector.
 
void itpp::randu (int rows, int cols, mat &out)
 Generates a random uniform (0,1) matrix.
 
mat itpp::randu (int rows, int cols)
 Generates a random uniform (0,1) matrix.
 
int itpp::randi (int low, int high)
 Generates a random integer in the interval [low,high].
 
ivec itpp::randi (int size, int low, int high)
 Generates a random ivec with elements in the interval [low,high].
 
imat itpp::randi (int rows, int cols, int low, int high)
 Generates a random imat with elements in the interval [low,high].
 
vec itpp::randray (int size, double sigma=1.0)
 Generates a random Rayleigh vector.
 
vec itpp::randrice (int size, double sigma=1.0, double s=1.0)
 Generates a random Rice vector (See J.G. Poakis, "Digital Communications, 3rd ed." p.47)
 
vec itpp::randexp (int size, double lambda=1.0)
 Generates a random complex Gaussian vector.
 
double itpp::randn (void)
 Generates a random Gaussian (0,1) variable.
 
void itpp::randn (int size, vec &out)
 Generates a random Gaussian (0,1) vector.
 
vec itpp::randn (int size)
 Generates a random Gaussian (0,1) vector.
 
void itpp::randn (int rows, int cols, mat &out)
 Generates a random Gaussian (0,1) matrix.
 
mat itpp::randn (int rows, int cols)
 Generates a random Gaussian (0,1) matrix.
 
std::complex< double > itpp::randn_c (void)
 Generates a random complex Gaussian (0,1) variable.
 
void itpp::randn_c (int size, cvec &out)
 Generates a random complex Gaussian (0,1) vector.
 
cvec itpp::randn_c (int size)
 Generates a random complex Gaussian (0,1) vector.
 
void itpp::randn_c (int rows, int cols, cmat &out)
 Generates a random complex Gaussian (0,1) matrix.
 
cmat itpp::randn_c (int rows, int cols)
 Generates a random complex Gaussian (0,1) matrix.
 

Detailed Description

Definition of classes for random number generators.

Author
Tony Ottosson and Adam Piatyszek

Copyright (C) 1995-2010 (see AUTHORS file for a list of contributors)

This file is part of IT++ - a C++ library of mathematical, signal processing, speech processing, and communications classes and functions.

IT++ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

IT++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with IT++. If not, see http://www.gnu.org/licenses/.


Definition in file random.h.

SourceForge Logo

Generated on Sat Jul 6 2013 10:54:26 for IT++ by Doxygen 1.8.2