8#include "../SIMD/SIMD.hpp"
9#include "../utility/utility.hpp"
10#include "../macros.hpp"
13hi_export_module(hikogui.random.xorshift128p);
26 [[nodiscard]]
constexpr explicit xorshift128p(u64x2 new_state) noexcept : _state(new_state) {}
30 while (_state.x() == 0 or _state.y() == 0) {
36 [[nodiscard]] T next()
noexcept;
41 [[nodiscard]] uint64_t
next() noexcept
44 auto const t = _state[1];
Cryptographically secure entropy.
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:378
Randomly generate an object.
Definition seed_intf.hpp:39
xorshift128+
Definition xorshift128p.hpp:19
uint64_t next() noexcept
Get the next 64 bit of random value.
Definition xorshift128p.hpp:41