MxEngine
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
MxEngine::Random Class Reference

#include <Random.h>

Public Types

using RandomReturnType = std::int64_t
 
using Generator = std::mersenne_twister_engine< std::uint_fast64_t, 64, 312, 156, 31, 0xb5026f5aa96619e9, 29, 0x5555555555555555, 17, 0x71d67fffeda60000, 37, 0xfff7eee000000000, 43, 6364136223846793005 >
 

Static Public Member Functions

static void SetSeed (Generator::result_type seed)
 
static float GetFloat ()
 
static int64_t Get (int64_t lower, int64_t upper)
 
static int32_t Get (int32_t lower, int32_t upper)
 
static float Get (float lower, float upper)
 

Static Public Attributes

static constexpr RandomReturnType Max = std::numeric_limits<RandomReturnType>::max()
 
static constexpr RandomReturnType Min = std::numeric_limits<RandomReturnType>::min()
 

Detailed Description

random generator is a small utility class which uses mersenne twister generator to produce random number it is global thread-safe class, which allows you to generate integer numbers with int64 precision

Member Typedef Documentation

§ Generator

using MxEngine::Random::Generator = std::mersenne_twister_engine<std::uint_fast64_t, 64, 312, 156, 31, 0xb5026f5aa96619e9, 29, 0x5555555555555555, 17, 0x71d67fffeda60000, 37, 0xfff7eee000000000, 43, 6364136223846793005>

Random generator inner type. Numbers are used from cppreference wiki page

Member Function Documentation

§ Get() [1/3]

int64_t MxEngine::Random::Get ( int64_t  lower,
int64_t  upper 
)
static

generates random int64 value

Returns
int64 in interval [lower; upper]

§ Get() [2/3]

int32_t MxEngine::Random::Get ( int32_t  lower,
int32_t  upper 
)
static

generates random int32 value

Returns
int32 in interval [lower; upper]

§ Get() [3/3]

float MxEngine::Random::Get ( float  lower,
float  upper 
)
static

generates random float value

Returns
float in interval [lower; upper]

§ GetFloat()

float MxEngine::Random::GetFloat ( )
static

generates random float

Returns
float in interval [0; 1]

§ SetSeed()

void MxEngine::Random::SetSeed ( Generator::result_type  seed)
static

sets seed for generator. Affects only current thread of execution

Parameters
seednew initial seed for generator

Member Data Documentation

§ Max

constexpr RandomReturnType MxEngine::Random::Max = std::numeric_limits<RandomReturnType>::max()
static

max value which random generator can produce

§ Min

constexpr RandomReturnType MxEngine::Random::Min = std::numeric_limits<RandomReturnType>::min()
static

min value which random generator can produce


The documentation for this class was generated from the following files: