Loading...
Searching...
No Matches
gr::random Class Reference

pseudo random number generator More...

`#include <gnuradio/random.h>`

## Public Member Functions

| random (uint64_t seed=0, int64_t min_integer=0, int64_t max_integer=2)
| ~random ()
void | reseed (uint64_t seed)
| Change the seed for the initialized number generator. seed = 0 initializes the random number generator with the system time.
void | set_integer_limits (int64_t minimum, int64_t maximum)
int64_t | ran_int ()
float | ran1 ()
| Uniform random numbers in the range [0.0, 1.0).
float | gasdev ()
| Normally distributed random numbers (Gaussian distribution with zero mean and variance 1).
float | laplacian ()
| Laplacian distributed random numbers with zero mean and variance 1.
float | rayleigh ()
| Rayleigh distributed random numbers (zero mean and variance 1 for the underlying Gaussian distributions).
float | impulse (float factor)
| Exponentially distributed random numbers with values less than or equal to factor replaced with zero. The underlying exponential distribution has mean sqrt(2) and variance 2.
gr_complex | rayleigh_complex ()
| Normally distributed random numbers with zero mean and variance 1 on real and imaginary part. This results in a Rayleigh distribution for the amplitude and an uniform distribution for the phase.

## Protected Attributes

long | d_seed
bool | d_gauss_stored
float | d_gauss_value
xoroshiro128p_prng | d_rng
std::uniform_real_distribution< float > | d_uniform
std::uniform_int_distribution< int64_t > | d_integer_dis

## Detailed Description

pseudo random number generator

## Constructor & Destructor Documentation

## random()

gr::random::random | ( | uint64_t | seed = 0,
|  | int64_t | min_integer = 0,
|  | int64_t | max_integer = 2 )

## ~random()

gr::random::~random | ( |  | ) |

## Member Function Documentation

## gasdev()

float gr::random::gasdev | ( |  | ) |

Normally distributed random numbers (Gaussian distribution with zero mean and variance 1).

## impulse()

float gr::random::impulse | ( | float | factor | ) |

Exponentially distributed random numbers with values less than or equal to factor replaced with zero. The underlying exponential distribution has mean sqrt(2) and variance 2.

## laplacian()

float gr::random::laplacian | ( |  | ) |

Laplacian distributed random numbers with zero mean and variance 1.

## ran1()

float gr::random::ran1 | ( |  | ) |

Uniform random numbers in the range [0.0, 1.0).

## ran_int()

int64_t gr::random::ran_int | ( |  | ) |

Uniform random integers in the range set by 'set_integer_limits' [min, max).

## rayleigh()

float gr::random::rayleigh | ( |  | ) |

Rayleigh distributed random numbers (zero mean and variance 1 for the underlying Gaussian distributions).

## rayleigh_complex()

gr_complex gr::random::rayleigh_complex | ( |  | ) |

Normally distributed random numbers with zero mean and variance 1 on real and imaginary part. This results in a Rayleigh distribution for the amplitude and an uniform distribution for the phase.

## reseed()

void gr::random::reseed | ( | uint64_t | seed | ) |

Change the seed for the initialized number generator. seed = 0 initializes the random number generator with the system time.

## set_integer_limits()

void gr::random::set_integer_limits | ( | int64_t | minimum,
|  | int64_t | maximum )

set minimum and maximum for integer random number generator. Limits are [minimum, maximum) Default: [0, std::numeric_limits< IntType >::max)]

## Member Data Documentation

## d_gauss_stored

bool gr::random::d_gauss_stored

protected

## d_gauss_value

float gr::random::d_gauss_value

protected

## d_integer_dis

std::uniform_int_distribution<int64_t> gr::random::d_integer_dis

protected

## d_rng

xoroshiro128p_prng gr::random::d_rng

protected

## d_seed

long gr::random::d_seed

protected

## d_uniform

std::uniform_real_distribution<float> gr::random::d_uniform

protected

The documentation for this class was generated from the following file:

- random.h