Stride Reference Manual  1.0
stride::util::AliasDistribution Class Reference

Usage is very simple, construct with a vector of probabilities, then use as a distribution from the standard library (i.e. More...

#include <AliasDistribution.h>

Inheritance diagram for stride::util::AliasDistribution:
Inheritance graph
Collaboration diagram for stride::util::AliasDistribution:
Collaboration graph

Public Member Functions

 AliasDistribution (const vector< double > &probs)
 Construct the distribution using the method described here: http://keithschwarz.com/darts-dice-coins/. More...
 
 AliasDistribution ()=delete
 
template<typename RNG >
unsigned int operator() (RNG &gen)
 

Protected Attributes

vector< AliasBlockm_blocks
 
uniform_int_distribution< unsigned int > m_diceroll
 

Static Protected Attributes

static uniform_real_distribution< doubleg_coinflip = uniform_real_distribution<double>(0, 1)
 

Detailed Description

Usage is very simple, construct with a vector of probabilities, then use as a distribution from the standard library (i.e.

with operator()).

Definition at line 20 of file AliasDistribution.h.

Constructor & Destructor Documentation

stride::util::AliasDistribution::AliasDistribution ( const vector< double > &  probs)

Construct the distribution using the method described here: http://keithschwarz.com/darts-dice-coins/.

Parameters
probsA vector with length n.
stride::util::AliasDistribution::AliasDistribution ( )
delete

Member Function Documentation

template<typename RNG >
unsigned int stride::util::AliasDistribution::operator() ( RNG gen)
inline
Parameters
genA random generator conforming the standard operator() usage
Returns
A random (weighted) integer in [0, n)

Definition at line 37 of file AliasDistribution.h.

Referenced by stride::util::MappedAliasDistribution::operator()().

Member Data Documentation

vector<AliasBlock> stride::util::AliasDistribution::m_blocks
protected

Definition at line 44 of file AliasDistribution.h.

uniform_int_distribution<unsigned int> stride::util::AliasDistribution::m_diceroll
protected

Definition at line 45 of file AliasDistribution.h.

uniform_real_distribution< double > AliasDistribution::g_coinflip = uniform_real_distribution<double>(0, 1)
staticprotected

Definition at line 46 of file AliasDistribution.h.


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