reference

This documentation is automatically generated from the openFrameworks source code using doxygen and refers to the most recent release, version 0.12.0.

ofRandomDistributions.h File Reference
#include <random>
#include <glm/glm.hpp>

Go to the source code of this file.

Namespaces

namespace  of
 
namespace  of::random
 

Functions

template<typename T = float, typename ... Args>
std::enable_if_t< std::is_floating_point_v< T >, T > of::random::uniform (Args &&... args)
 
template<typename T , typename ... Args>
std::enable_if_t< std::is_integral_v< T >, T > of::random::uniform (Args &&... args)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::uniform (double min, double max)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::uniform (T min, T max)
 
template<typename T , typename ... Args>
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::uniform (Args &&... args)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::uniform (T min, T max)
 
template<typename T = float>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::normal (T mean, T stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::normal (float mean, float stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::normal (T mean, T stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::normal (float mean, float stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::normal (T mean, T stddev)
 
template<typename T = float>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::lognormal (double mean, double stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::lognormal (double mean, double stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::lognormal (T mean, T stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::lognormal (double mean, double stddev)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::lognormal (T mean, T stddev)
 
template<typename T = float>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::gamma (double alpha, double beta)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::gamma (double alpha, double beta)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::gamma (T alpha, T beta)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::gamma (double alpha, double beta)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::gamma (T alpha, T beta)
 
template<typename T = float>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::poisson (double mean)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::poisson (double mean)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::poisson (T mean)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::poisson (double mean)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::poisson (T mean)
 
template<typename T = float>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::exponential (T lambda)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::exponential (double lambda)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::exponential (T lambda)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::exponential (double lambda)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::exponential (T lambda)
 
template<typename T = float>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::chi_squared (T n)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::chi_squared (double n)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::chi_squared (T n)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::chi_squared (double n)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::chi_squared (T n)
 
template<typename T = int>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::binomial (int p, double t)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::binomial (int p, double t)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::binomial (T p, T t)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::binomial (int p, double t)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::binomial (T p, T t)
 
template<typename T = int>
std::enable_if_t< std::is_arithmetic_v< T >, T > of::random::geometric ()
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::geometric ()
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::geometric ()
 
template<typename T = bool>
auto of::random::bernoulli (double p)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::bernoulli (double p)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::bernoulli (T p)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::bernoulli (double p)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::bernoulli (T p)
 
template<typename... Args>
auto of::random::gaussian (Args &&... args) -> decltype(normal(std::forward< Args >(args)...))
 
template<typename... Args>
auto of::random::yes (Args &&... args) -> decltype(bernoulli(std::forward< Args >(args)...))
 
template<class T >
auto of::random::gaussian (T min, T max) -> decltype(normal< T >(min, max))
 
template<class T >
auto of::random::yes (T p) -> decltype(bernoulli(p))
 
template<class T = float>
of::random::bound_normal (float min, float max, float focus=4.0f)
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec2 >, T > of::random::bound_normal (T min, T max, T focus={4.0f, 4.0f})
 
template<typename T >
std::enable_if_t< std::is_same_v< T, glm::vec3 >, T > of::random::bound_normal (T min, T max, T focus={4.0f, 4.0f, 4.0f})