panann
All Classes Functions Variables Enumerations Enumerator
Public Member Functions | Protected Member Functions | List of all members
panann::RandomWrapper Class Reference

#include <RandomWrapper.h>

Public Member Functions

 RandomWrapper (const RandomWrapper &rhs)=delete
 
RandomWrapperoperator= (const RandomWrapper &rhs)=delete
 
template<typename IntegerType = uint32_t>
IntegerType RandomInteger (IntegerType min, IntegerType max)
 
template<typename FloatType = double>
FloatType RandomFloat (FloatType min, FloatType max)
 
bool CoinFlip (double probability)
 
std::byte RandomByte ()
 
template<typename T >
void ShuffleVector (std::vector< T > *vec)
 

Protected Member Functions

std::mt19937 & Engine ()
 

Detailed Description

A simple wrapper which may be used to generate random values.

Member Function Documentation

◆ CoinFlip()

bool panann::RandomWrapper::CoinFlip ( double  probability)

Generates a weighted coin flip with |probability| chance of producing the value true.

◆ RandomByte()

std::byte panann::RandomWrapper::RandomByte ( )

Generates a uniformly random byte.

◆ RandomFloat()

template<typename FloatType = double>
FloatType panann::RandomWrapper::RandomFloat ( FloatType  min,
FloatType  max 
)
inline

Generates a uniformly random floating point value of type |FloatType| in the range [|min|, |max|).

◆ RandomInteger()

template<typename IntegerType = uint32_t>
IntegerType panann::RandomWrapper::RandomInteger ( IntegerType  min,
IntegerType  max 
)
inline

Generates a uniformly random integer of type |IntegerType| in the range [|min|, |max|].

◆ ShuffleVector()

template<typename T >
void panann::RandomWrapper::ShuffleVector ( std::vector< T > *  vec)
inline

Shuffle the elements of |vec| into random positions.


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