1 /*
2    mkvmerge -- utility for splicing together matroska files
3    from component media subtypes
4 
5    Distributed under the GPL v2
6    see the file COPYING for details
7    or visit https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
8 
9    definitions for random number generating functions
10 
11    Written by Moritz Bunkus <moritz@bunkus.org>.
12 */
13 
14 #pragma once
15 
16 #include "common/common_pch.h"
17 
18 class random_c {
19 public:
20   static void init(std::optional<uint64_t> seed = std::nullopt);
21 
22   static void generate_bytes(void *destination, size_t num_bytes);
23   static uint8_t generate_8bits();
24   static uint32_t generate_32bits();
25   static uint64_t generate_64bits();
26 };
27