44 PdfSampler(
const std::vector<float> &pdf, uint32_t seed);
57 std::vector<float>
sample(
size_t nb_samples);
60 std::vector<float> cdf;
61 std::mt19937 generator;
62 std::uniform_real_distribution<float> distribution{0.f, 1.f};
Samples indices from a discrete probability distribution.
Definition random.hpp:37
float sample()
Samples a float value in [0, 1[.
Definition pdf_sampler.cpp:33
Definition algebra.hpp:23
float splitmix64_to_unit_float(unsigned int seed, size_t k)
Generates a deterministic uniform float in [0,1) using a SplitMix64-style hash.
Definition hash.cpp:10
float fast_hash32_to_unit_float(unsigned int seed, size_t k)
Generates a fast deterministic uniform float in [0,1) using a 32-bit hash.
Definition hash.cpp:27