MCPcopy Create free account
hub / github.com/ElementsProject/elements / FUZZ_TARGET

Function FUZZ_TARGET

src/test/fuzz/random.cpp:15–31  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13#include <vector>
14
15FUZZ_TARGET(random)
16{
17 FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
18 FastRandomContext fast_random_context{ConsumeUInt256(fuzzed_data_provider)};
19 (void)fast_random_context.rand64();
20 (void)fast_random_context.randbits(fuzzed_data_provider.ConsumeIntegralInRange<int>(0, 64));
21 (void)fast_random_context.randrange(fuzzed_data_provider.ConsumeIntegralInRange<uint64_t>(FastRandomContext::min() + 1, FastRandomContext::max()));
22 (void)fast_random_context.randbytes(fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 1024));
23 (void)fast_random_context.rand32();
24 (void)fast_random_context.rand256();
25 (void)fast_random_context.randbool();
26 (void)fast_random_context();
27
28 std::vector<int64_t> integrals = ConsumeRandomLengthIntegralVector<int64_t>(fuzzed_data_provider);
29 Shuffle(integrals.begin(), integrals.end(), fast_random_context);
30 std::shuffle(integrals.begin(), integrals.end(), fast_random_context);
31}

Callers

nothing calls this directly

Calls 13

ConsumeUInt256Function · 0.85
rand64Method · 0.80
randbitsMethod · 0.80
randrangeMethod · 0.80
randbytesMethod · 0.80
rand32Method · 0.80
rand256Method · 0.80
randboolMethod · 0.80
ShuffleFunction · 0.50
dataMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected