Documentation 6b54b78464
Loading...
Searching...
No Matches
RandomToolbox Namespace Reference

Functions

uint64_t GetHash (unsigned long nodeIndex, unsigned short iDim, unsigned long timeIter)
 Generate a deterministic 64-bit hash from three integers.
 
double HashToUniform (uint64_t x)
 Convert a 64-bit hash into a uniform double in (0,1]. Uses the top 53 bits of the hash to fill the mantissa of a double. Ensures the result is never zero, suitable for Box-Muller transform.
 
double HashToNormal (uint64_t x)
 Generate a standard normal random number from a 64-bit hash. Uses two deterministic uniforms derived from the hash and its bitwise NOT as inputs to the Box-Muller transform.
 
double GetNormal (unsigned long nodeIndex, unsigned long dim, unsigned long timeIter)
 Generate a deterministic standard normal number for a cell, dimension, and timestep.
 
template<class T >
T GetBesselZero (const T &x)
 Compute modified bessel function of first kind (order 0).
 
template<class T >
T GetBesselIntegral (const T &beta_x, const T &beta_y, const T &beta_z)
 Compute integral involving the product of three modified Bessel functions. Useful for scaling the smoothed stochastic source terms in Langevin equations.