#include #include "RandomBuffer.h" #include "LcgRandom.h" namespace ReverbHallRoom { std::vector RandomBuffer::Generate(uint64_t seed, int count) { LcgRandom rand(seed); std::vector output; for (int i = 0; i < count; i++) { unsigned int val = rand.NextUInt(); float fVal = val / (float)UINT_MAX; output.push_back(fVal); } return output; } std::vector RandomBuffer::Generate(uint64_t seed, int count, float crossSeed) { auto seedA = seed; auto seedB = ~seed; auto seriesA = Generate(seedA, count); auto seriesB = Generate(seedB, count); std::vector output; for (int i = 0; i < count; i++) output.push_back(seriesA[i] * (1 - crossSeed) + seriesB[i] * crossSeed); return output; } }