From 39765c9d26ef0da042adca26f9bd9a119d0066d0 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 13 Sep 2020 11:07:20 +0300 Subject: [PATCH] Add white noise pixmap generator --- libs/pcg/include/psemek/pcg/white.hpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 libs/pcg/include/psemek/pcg/white.hpp 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; + } + +}