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
Go to the documentation of this file.
504// whilst nerdy enough, the above do not work with {initializer list} for glm::vec parameters such as:
548 do { v.x = of::random::normal<float>((max.x+min.x)/2.0f, (max.x-min.x)/(2*focus.x)); } while (v.x < min.x || v.x > max.x);
567 do { v.x = of::random::normal<float>((max.x+min.x)/2.0f, (max.x-min.x)/(2*focus.x)); } while (v.x < min.x || v.x > max.x);
568 do { v.y = of::random::normal<float>((max.y+min.y)/2.0f, (max.y-min.y)/(2*focus.y)); } while (v.y < min.y || v.y > max.y);
581// again, 2 templates per function, for the convenience of implicit brace init of glm::vec parameters
584T ofRandomUniform(Args&&... args) { return of::random::uniform<T>(std::forward<Args>(args)...); }
596T ofRandomGaussian(Args&&... args) { return of::random::gaussian<T>(std::forward<Args>(args)...); }
602T ofRandomBernoulli(Args&&... args) { return of::random::bernoulli<T>(std::forward<Args>(args)...); }
614T ofRandomPoisson(Args&&... args) { return of::random::poisson<T>(std::forward<Args>(args)...); }
620T ofRandomExponential(Args&&... args) { return of::random::exponential<T>(std::forward<Args>(args)...); }
626T ofRandomChiSquared(Args&&... args) { return of::random::chi_squared<T>(std::forward<Args>(args)...); }
638T ofRandomLogNormal(Args&&... args) { return of::random::lognormal<T>(std::forward<Args>(args)...); }
644T ofRandomGeometric(Args&&... args) { return of::random::geometric<T>(std::forward<Args>(args)...); }
Definition ofRandomDistributions.h:14
std::enable_if_t< std::is_arithmetic_v< T >, T > gamma(double alpha, double beta)
Definition ofRandomDistributions.h:176
std::enable_if_t< std::is_arithmetic_v< T >, T > geometric()
Definition ofRandomDistributions.h:421
std::enable_if_t< std::is_arithmetic_v< T >, T > lognormal(double mean, double stddev)
Definition ofRandomDistributions.h:128
std::enable_if_t< std::is_arithmetic_v< T >, T > normal(T mean, T stddev)
Definition ofRandomDistributions.h:80
std::enable_if_t< std::is_arithmetic_v< T >, T > poisson(double mean)
Definition ofRandomDistributions.h:223
auto yes(Args &&... args) -> decltype(bernoulli(std::forward< Args >(args)...))
Definition ofRandomDistributions.h:500
std::enable_if_t< std::is_floating_point_v< T >, T > uniform(Args &&... args)
Definition ofRandomDistributions.h:22
std::enable_if_t< std::is_arithmetic_v< T >, T > binomial(int p, double t)
Definition ofRandomDistributions.h:367
T bound_normal(float min, float max, float focus=4.0f)
Definition ofRandomDistributions.h:520
std::enable_if_t< std::is_arithmetic_v< T >, T > chi_squared(T n)
Definition ofRandomDistributions.h:319
auto gaussian(Args &&... args) -> decltype(normal(std::forward< Args >(args)...))
Definition ofRandomDistributions.h:495
std::enable_if_t< std::is_arithmetic_v< T >, T > exponential(T lambda)
Definition ofRandomDistributions.h:271
#define a
#define b