diff --git a/libs/pcg/include/psemek/pcg/white.hpp b/libs/pcg/include/psemek/pcg/white.hpp new file mode 100644 index 00000000..bc12aec1 --- /dev/null +++ b/libs/pcg/include/psemek/pcg/white.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include +#include + +#include + +namespace psemek::pcg +{ + + template + gfx::basic_pixmap white(std::size_t width, std::size_t height, RNG && rng, geom::interval const & range) + { + using dist = std::conditional_t, std::uniform_real_distribution, std::uniform_int_distribution>; + + dist d{range.min, range.max}; + + gfx::basic_pixmap result(width, height); + + for (std::size_t x = 0; x < width; ++x) + for (std::size_t y = 0; y < height; ++y) + result(x, y) = d(rng); + + return result; + } + +}