sp_random.cpp File Reference

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.


Defines

#define MODULUS   2147483647
#define MULTIPLIER   48271
#define CHECK   399268537
#define STREAMS   256
#define A256   22925
#define DEFAULT   123456789

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, tpTime::Type tossLB, tpTime::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, tpTime::Type tossLB, tpTime::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.

Variables

static long faudes::ran_seed [STREAMS] = {DEFAULT}
static int faudes::ran_stream = 0
static int faudes::ran_initialized = 0

Detailed Description

Evaluating random variables.

Definition in file sp_random.cpp.


Define Documentation

#define A256   22925

Definition at line 25 of file sp_random.cpp.

#define CHECK   399268537

Definition at line 23 of file sp_random.cpp.

#define DEFAULT   123456789

Definition at line 26 of file sp_random.cpp.

#define MODULUS   2147483647

Definition at line 21 of file sp_random.cpp.

#define MULTIPLIER   48271

Definition at line 22 of file sp_random.cpp.

#define STREAMS   256

Definition at line 24 of file sp_random.cpp.

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen