|
Evaluating random variables.
More...
#include "sp_random.h"
#include <cmath>
Go to the source code of this file.
Namespaces |
namespace | faudes |
| libFAUDES resides within the namespace faudes.
|
Macros |
#define | MODULUS 2147483647 /* DON'T CHANGE THIS VALUE */ |
#define | MULTIPLIER 48271 /* DON'T CHANGE THIS VALUE */ |
#define | CHECK 399268537 /* DON'T CHANGE THIS VALUE */ |
#define | STREAMS 256 /* # of streams, DON'T CHANGE THIS VALUE */ |
#define | A256 22925 /* jump multiplier, DON'T CHANGE THIS VALUE */ |
#define | DEFAULT 123456789 /* initial seed, use 0 < DEFAULT < MODULUS */ |
Functions |
void | faudes::ran_plant_seeds (long x) |
| Use this function to set the state of all the random number generator streams by "planting" a sequence of states (seeds), one per stream, with all states dictated by the state of the default stream.
|
void | faudes::ran_put_seed (long seed) |
| Put a seed.
|
void | faudes::ran_select_stream (int index) |
| Use this function to set the current random number generator stream – that stream from which the next random number will come.
|
void | faudes::ran_init (long seed) |
| Initialize random generator.
|
double | faudes::ran (void) |
| Run random generator Random Number Generator (for more details see "Random Number Generators: Good Ones Are Hard To Find" Steve Park and Keith Miller Communications of the ACM, October 1988)
|
double | faudes::ran_uniform (double a, double b) |
| Sample a random variable uniformly on interval [a;b) Distribution: f(t) dt= {1/(b-a)} dt for t, a <=t< b, else 0.
|
long | faudes::ran_uniform_int (long a, long b) |
| Sample a discrete random variable uniformly on interval [a;b) Distribution: p(n) = 1/(b-a-1)
|
double | faudes::ran_exponential (double mu) |
| Sample a random variable exponentially Distribution: f(t) dt = 1/mu exp(-t/mu) dt for t>=0.
|
double | faudes::ran_exponential (double mu, Time::Type tossLB, Time::Type tossUB) |
| Sample a random variable exponentially on a restricted interval Distribution: f(t) dt = 1/mu exp(-t/mu) dt for t>=0.
|
double | faudes::ran_gauss (double mu, double sigma, Time::Type tossLB, Time::Type tossUB) |
| Sample a random variable gaussian distributed on a restricted interval Distribution: f(t) = 1 / sqrt(2 pi sigma^2) * exp( -1/2 ((t-mu)/sigma)^2) for t>=0.
|
double | faudes::ran_gaussian_cdf_P (double x) |
| Help function: calculate gaussian CDF using an approximation from Abromowitz and Stegun: Handbook of Mathematical Functions.
|
Detailed Description
Evaluating random variables.
Definition in file sp_random.cpp.
Macro Definition Documentation
#define A256 22925 /* jump multiplier, DON'T CHANGE THIS VALUE */ |
#define CHECK 399268537 /* DON'T CHANGE THIS VALUE */ |
#define DEFAULT 123456789 /* initial seed, use 0 < DEFAULT < MODULUS */ |
#define MODULUS 2147483647 /* DON'T CHANGE THIS VALUE */ |
#define MULTIPLIER 48271 /* DON'T CHANGE THIS VALUE */ |
#define STREAMS 256 /* # of streams, DON'T CHANGE THIS VALUE */ |
libFAUDES 2.28a
--- 2016.09.13
--- c++ api documentaion by doxygen
|