xref: /aosp_15_r20/external/libsrtp2/fuzzer/mt19937.cpp (revision 90e502c7aef8d77d0622bb67d75435c6190cfc1a)
1*90e502c7SAndroid Build Coastguard Worker #include <random>
2*90e502c7SAndroid Build Coastguard Worker #include <cstdint>
3*90e502c7SAndroid Build Coastguard Worker 
4*90e502c7SAndroid Build Coastguard Worker std::mt19937* mt_rand = NULL;
5*90e502c7SAndroid Build Coastguard Worker 
fuzz_mt19937_init(uint32_t seed)6*90e502c7SAndroid Build Coastguard Worker extern "C" void fuzz_mt19937_init(uint32_t seed) {
7*90e502c7SAndroid Build Coastguard Worker     mt_rand = new std::mt19937(seed);
8*90e502c7SAndroid Build Coastguard Worker }
9*90e502c7SAndroid Build Coastguard Worker 
fuzz_mt19937_get(void)10*90e502c7SAndroid Build Coastguard Worker extern "C" uint32_t fuzz_mt19937_get(void) {
11*90e502c7SAndroid Build Coastguard Worker     return (*mt_rand)();
12*90e502c7SAndroid Build Coastguard Worker }
13*90e502c7SAndroid Build Coastguard Worker 
fuzz_mt19937_destroy(void)14*90e502c7SAndroid Build Coastguard Worker extern "C" void fuzz_mt19937_destroy(void) {
15*90e502c7SAndroid Build Coastguard Worker     delete mt_rand;
16*90e502c7SAndroid Build Coastguard Worker     mt_rand = NULL;
17*90e502c7SAndroid Build Coastguard Worker }
18