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

Function splitMix64

src/bench/nanobench.h:3245–3250  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3243
3244ANKERL_NANOBENCH_NO_SANITIZE("integer", "undefined")
3245uint64_t splitMix64(uint64_t& state) noexcept {
3246 uint64_t z = (state += UINT64_C(0x9e3779b97f4a7c15));
3247 z = (z ^ (z >> 30U)) * UINT64_C(0xbf58476d1ce4e5b9);
3248 z = (z ^ (z >> 27U)) * UINT64_C(0x94d049bb133111eb);
3249 return z ^ (z >> 31U);
3250}
3251
3252// Seeded as described in romu paper (update april 2020)
3253Rng::Rng(uint64_t seed) noexcept

Callers 1

RngMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected