kblib 0.2.3
General utilities library for modern C++
kblib::lcgs Namespace Reference

Namespaces

namespace  best_lcgs
 
namespace  common_lcgs
 

Typedefs

template<typename UIntType , UIntType a, UIntType c, UIntType b>
using lcg_p2 = std::linear_congruential_engine< UIntType, a, c, ipow2(b)>
 
using rand48 = transform_engine< lcg_p2< std::uint_fast64_t, 25214903917u, 11u, 48u >, shift_mask< std::uint_fast32_t, 16u > >
 
using java_rand = rand48
 
using glibc_rand0 = transform_engine< lcg_p2< std::uint_fast32_t, 1103515245, 12345, 31u >, shift_mask< std::uint_fast32_t, 0, ipow2(30) - 1 > >
 
using ansic_rand = transform_engine< lcg_p2< std::uint_fast32_t, 1103515245, 12345, 31u >, shift_mask< std::uint_fast32_t, 16, ipow2(14) - 1 > >
 
using knuth_lcg = std::linear_congruential_engine< uint64_t, 6364136223846793005U, 1442695040888963407U, 0U >
 
using lcg32 = lcg_p2< std::uint_fast32_t, 0xa13fc965u, 1u, 32u >
 
using mcg32 = lcg_p2< std::uint_fast32_t, 0x93d765ddu, 0u, 32u >
 
using lcg48 = lcg_p2< std::uint_fast64_t, 0xb67a49a5466du, 1u, 48u >
 
using mcg48 = lcg_p2< std::uint_fast64_t, 0xbdcdbb079f8du, 0u, 48u >
 
using lcg64 = lcg_p2< std::uint_fast64_t, 0xaf251af3b0f025b5u, 1u, 64u >
 
using mcg64 = lcg_p2< std::uint_fast64_t, 0xf1357aea2e62a9c5u, 0u, 64u >
 

Typedef Documentation

◆ lcg_p2

template<typename UIntType , UIntType a, UIntType c, UIntType b>
using kblib::lcgs::lcg_p2 = typedef std::linear_congruential_engine<UIntType, a, c, ipow2(b)>

Definition at line 330 of file random.h.