| 
    libfbm
    0.3
    
   Simulation of multi-dimensional stationary Gaussian processes and fractional Brownian motion. 
   | 
 
SIMD-oriented Fast Mersenne Twister (SFMT) and Ziggurat sampling based gaussian random generator. More...
#include <libfbm.hpp>
  
 Public Member Functions | |
| SFMTGaussianGenerator (uint32_t seed=0) | |
| SFMTGaussianGenerator (const unsigned char *seed_array, size_t len) | |
| ~SFMTGaussianGenerator () | |
| void | setSeed (uint32_t seed) | 
| void | setSeed (const unsigned char *seed_array, size_t len) | 
| double | getDouble () | 
| void | getDouble (double *array, size_t len) | 
  Public Member Functions inherited from libfbm::GaussianGenerator | |
| virtual | ~GaussianGenerator () | 
SIMD-oriented Fast Mersenne Twister (SFMT) and Ziggurat sampling based gaussian random generator.
Very fast. Makes use of the excellent SFMT library by Mutsuo Saito and Makoto Matsumoto, http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/, also see [8]. It assumes that the CPU supports SSE2. Gaussian distribution is generated by a variation of the ziggurat algorithm (basically layered rejection sampling). The ziggurat algorithm used is slightly different from the one described by Marsaglia in [7], here we select layers that cover an equal area of the distribution (instead of layers having similar overall area).
Definition at line 354 of file libfbm.hpp.
| libfbm::SFMTGaussianGenerator::SFMTGaussianGenerator | ( | uint32_t | seed = 0 | ) | 
| libfbm::SFMTGaussianGenerator::SFMTGaussianGenerator | ( | const unsigned char * | seed_array, | 
| size_t | len | ||
| ) | 
| libfbm::SFMTGaussianGenerator::~SFMTGaussianGenerator | ( | ) | 
      
  | 
  virtual | 
Implements libfbm::GaussianGenerator.
      
  | 
  virtual | 
Implements libfbm::GaussianGenerator.
      
  | 
  virtual | 
Implements libfbm::GaussianGenerator.
      
  | 
  virtual | 
Implements libfbm::GaussianGenerator.
 1.8.1