|
|
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.28c
--- 2016.09.30
--- c++ api documentaion by doxygen
|