OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::DiscreteDistribution Class Reference

#include <DiscreteDistribution.hpp>

Public Types

using result_type = size_t
 

Public Member Functions

SIV3D_NODISCARD_CXX20 DiscreteDistribution ()=default
 
SIV3D_NODISCARD_CXX20 DiscreteDistribution (std::initializer_list< double > ilist)
 
SIV3D_NODISCARD_CXX20 DiscreteDistribution (const Array< double > &weights)
 
template<size_t Size>
SIV3D_NODISCARD_CXX20 DiscreteDistribution (const std::array< double, Size > &weights)
 
template<class Iterator >
SIV3D_NODISCARD_CXX20 DiscreteDistribution (Iterator begin, Iterator end)
 
DiscreteDistributionoperator= (std::initializer_list< double > ilist)
 
template<size_t Size>
DiscreteDistributionoperator= (const std::array< double, Size > &weights)
 
DiscreteDistributionoperator= (const Array< double > &weights)
 
Array< double > probabilities () const
 
template<class URBG >
result_type operator() (URBG &rbg)
 
size_t min () const
 
size_t max () const
 
size_t size () const
 

Member Typedef Documentation

◆ result_type

Constructor & Destructor Documentation

◆ DiscreteDistribution() [1/5]

SIV3D_NODISCARD_CXX20 s3d::DiscreteDistribution::DiscreteDistribution ( )
default

◆ DiscreteDistribution() [2/5]

SIV3D_NODISCARD_CXX20 s3d::DiscreteDistribution::DiscreteDistribution ( std::initializer_list< double >  ilist)
explicit

◆ DiscreteDistribution() [3/5]

SIV3D_NODISCARD_CXX20 s3d::DiscreteDistribution::DiscreteDistribution ( const Array< double > &  weights)
explicit

◆ DiscreteDistribution() [4/5]

template<size_t Size>
SIV3D_NODISCARD_CXX20 s3d::DiscreteDistribution::DiscreteDistribution ( const std::array< double, Size > &  weights)
explicit

◆ DiscreteDistribution() [5/5]

template<class Iterator >
SIV3D_NODISCARD_CXX20 s3d::DiscreteDistribution::DiscreteDistribution ( Iterator  begin,
Iterator  end 
)
explicit

Member Function Documentation

◆ max()

size_t s3d::DiscreteDistribution::max ( ) const

◆ min()

size_t s3d::DiscreteDistribution::min ( ) const

◆ operator()()

template<class URBG >
result_type s3d::DiscreteDistribution::operator() ( URBG &  rbg)

◆ operator=() [1/3]

DiscreteDistribution& s3d::DiscreteDistribution::operator= ( const Array< double > &  weights)

◆ operator=() [2/3]

template<size_t Size>
DiscreteDistribution& s3d::DiscreteDistribution::operator= ( const std::array< double, Size > &  weights)

◆ operator=() [3/3]

DiscreteDistribution& s3d::DiscreteDistribution::operator= ( std::initializer_list< double >  ilist)

◆ probabilities()

Array<double> s3d::DiscreteDistribution::probabilities ( ) const

◆ size()

size_t s3d::DiscreteDistribution::size ( ) const

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