21 constexpr xorshift128p(xorshift128p
const &)
noexcept =
default;
22 constexpr xorshift128p(xorshift128p &&)
noexcept =
default;
23 constexpr xorshift128p &operator=(xorshift128p
const &)
noexcept =
default;
24 constexpr xorshift128p &operator=(xorshift128p &&)
noexcept =
default;
26 [[nodiscard]]
constexpr explicit xorshift128p(u64x2 new_state) noexcept : _state(new_state) {}
28 [[nodiscard]] xorshift128p() noexcept : _state{}
30 while (_state.x() == 0 or _state.y() == 0) {
36 [[nodiscard]] T next()
noexcept;
41 [[nodiscard]] uint64_t
next() noexcept
77 hilet tmp = s ^ t ^ (t >> 26);
81 t = insert<0, 1>(t, tmp);
95 [[nodiscard]] u32x4 next() noexcept
97 return u32x4::cast_from(next<u64x2>());
101 [[nodiscard]] i32x4 next() noexcept
103 return i32x4::cast_from(next<u64x2>());
107 [[nodiscard]] i16x8
next() noexcept
109 return i16x8::cast_from(next<u64x2>());