| 
    vSMC
    
   vSMC: Scalable Monte Carlo 
   | 
 
Random number generating engines and utilities. More...
Modules | |
| AES-NI | |
| Random number generating using AES-NI.  | |
| Distribution | |
| Distribution random varaites.  | |
| Intel DRNG | |
| Random number generating using Intel RDRAND instructions.  | |
| Intel Math Kernel Library | |
| Random number generating using MKL RNG.  | |
| Philox | |
| Random number generating using Random123 Philox RNG.  | |
| Random walk | |
| Random walk MCMC kernels.  | |
| Threefry | |
| Random number generating using Random123 Threefry RNG.  | |
| U01 | |
| Converting random integers to uniform floating points.  | |
| U01 Sequence | |
| Generating ordered uniform random sequence.  | |
| Xorshift | |
| Random number generating using the Xorshift algorithm.  | |
Classes | |
| class | vsmc::CounterEngine< Generator > | 
| Counter based RNG engine.  More... | |
| class | vsmc::RNGBits< RNGType > | 
| The value of RNGMaxBits<RNGType>::value - RNGMinBits<RNGType>::value.  More... | |
| class | vsmc::RNGMaxBits< RNGType > | 
| Find the largest N such that RNGType::max() >= (M >> (W - N)) where M = std::numeric_limits<typename RNGType::result_type>::max() W = std::numeric_limits<typename RNGType::result_type>::digits.  More... | |
| class | vsmc::RNGMinBits< RNGType > | 
Find the smallest N such that (RNGType::min() >> N) == 0  More... | |
| class | vsmc::RNGSetScalar< RNGType > | 
| Scalar RNG set.  More... | |
| class | vsmc::RNGSetTBB< RNGType > | 
| Thread-local storage RNG set using tbb::combinable.  More... | |
| class | vsmc::RNGSetVector< RNGType > | 
| Vector RNG set.  More... | |
| class | vsmc::SeedGenerator< ID, ResultType > | 
| Seed generator.  More... | |
| class | vsmc::SeedGenerator< ID, std::array< ResultType, K > > | 
| Seed generator counters.  More... | |
| class | vsmc::UniformBits< UIntType > | 
| Generate uniform bits of given type.  More... | |
Typedefs | |
| using | vsmc::Seed = SeedGenerator< NullType, unsigned > | 
| The default Seed type.  More... | |
Functions | |
| template<typename T , std::size_t K> | |
| void | vsmc::increment (std::array< T, K > &ctr) | 
| Increment a counter by one.  More... | |
| template<typename T , std::size_t K, T NSkip> | |
| void | vsmc::increment (std::array< T, K > &ctr, std::integral_constant< T, NSkip >) | 
| Increment a counter by given steps.  More... | |
| template<typename T , std::size_t K> | |
| void | vsmc::increment (std::array< T, K > &ctr, T nskip) | 
| Increment a counter by given steps.  More... | |
| template<typename T , std::size_t K, std::size_t Blocks> | |
| void | vsmc::increment (std::array< T, K > &ctr, std::array< std::array< T, K >, Blocks > &ctr_block) | 
| Increment a counter by a given steps, and store each step in an array of counters.  More... | |
| template<typename T , std::size_t K> | |
| void | vsmc::increment (std::array< T, K > &ctr, std::size_t n, std::array< T, K > *ctr_block) | 
| Increment a counter by given steps, and store each step in an array of counters.  More... | |
| template<typename RNGType > | |
| void | vsmc::rng_rand (RNGType &rng, std::size_t n, typename RNGType::result_type *r) | 
| Generate random bits.  More... | |
| template<typename UIntType , typename RealType > | |
| RealType | vsmc::u01_cc (UIntType u) noexcept | 
| Convert uniform unsigned integers to floating points on [0, 1].  More... | |
| template<typename UIntType , typename RealType > | |
| void | vsmc::u01_cc (std::size_t n, const UIntType *u, RealType *r) noexcept | 
| Convert uniform unsigned integers to floating points on [0, 1].  More... | |
| template<typename UIntType , typename RealType > | |
| RealType | vsmc::u01_co (UIntType u) noexcept | 
| Convert uniform unsigned integers to floating points on [0, 1)  More... | |
| template<typename UIntType , typename RealType > | |
| void | vsmc::u01_co (std::size_t n, const UIntType *u, RealType *r) noexcept | 
| Convert uniform unsigned integers to floating points on [0, 1)  More... | |
| template<typename UIntType , typename RealType , typename Left , typename Right > | |
| RealType | vsmc::u01_lr (UIntType u) noexcept | 
| Convert uniform unsigned integers to floating points within [0, 1].  More... | |
| template<typename UIntType , typename RealType , typename Left , typename Right > | |
| void | vsmc::u01_lr (std::size_t n, const UIntType *u, RealType *r) noexcept | 
| Convert uniform unsigned integers to floating points within [0, 1].  More... | |
| template<typename UIntType , typename RealType > | |
| RealType | vsmc::u01_oc (UIntType u) noexcept | 
| Convert uniform unsigned integers to floating points on (0, 1].  More... | |
| template<typename UIntType , typename RealType > | |
| void | vsmc::u01_oc (std::size_t n, const UIntType *u, RealType *r) noexcept | 
| Convert uniform unsigned integers to floating points on (0, 1].  More... | |
| template<typename UIntType , typename RealType > | |
| RealType | vsmc::u01_oo (UIntType u) noexcept | 
| Convert uniform unsigned integers to floating points on (0, 1)  More... | |
| template<typename UIntType , typename RealType > | |
| void | vsmc::u01_oo (std::size_t n, const UIntType *u, RealType *r) noexcept | 
| Convert uniform unsigned integers to floating points on (0, 1)  More... | |
Random number generating engines and utilities.
| using vsmc::Seed = typedef SeedGenerator<NullType, unsigned > | 
      
  | 
  inline | 
Increment a counter by one.
Definition at line 62 of file counter.hpp.
      
  | 
  inline | 
Increment a counter by given steps.
Definition at line 70 of file counter.hpp.
      
  | 
  inline | 
Increment a counter by given steps.
Definition at line 84 of file counter.hpp.
      
  | 
  inline | 
Increment a counter by a given steps, and store each step in an array of counters.
Definition at line 149 of file counter.hpp.
      
  | 
  inline | 
Increment a counter by given steps, and store each step in an array of counters.
Definition at line 256 of file counter.hpp.
| void vsmc::rng_rand | ( | RNGType & | rng, | 
| std::size_t | n, | ||
| typename RNGType::result_type * | r | ||
| ) | 
Generate random bits.
Definition at line 524 of file common.hpp.
      
  | 
  noexcept | 
      
  | 
  noexcept | 
      
  | 
  noexcept | 
      
  | 
  noexcept | 
      
  | 
  noexcept | 
Convert uniform unsigned integers to floating points within [0, 1].
Let \(W\) be the number of digits of unsigned integer type UIntType. Let \(M\) be the number of significant digits of floating point type RealType. Assuming the input is a uniform random number on the set \(\{0,1,\dots,2^W - 1\), the output is uniform over the interval \([0,1]\) or one of its (half-)open interval variant. The exact output depend on the template parameter Left and Right. 
      
  | 
  noexcept | 
      
  | 
  noexcept | 
      
  | 
  noexcept | 
      
  | 
  noexcept | 
 1.8.11