18 constexpr xorshift128p(xorshift128p
const &)
noexcept =
default;
19 constexpr xorshift128p(xorshift128p &&)
noexcept =
default;
20 constexpr xorshift128p &operator=(xorshift128p
const &)
noexcept =
default;
21 constexpr xorshift128p &operator=(xorshift128p &&)
noexcept =
default;
23 [[nodiscard]]
constexpr explicit xorshift128p(u64x2 new_state) noexcept : _state(new_state) {}
25 [[nodiscard]] xorshift128p() noexcept : _state{}
27 while (_state.x() == 0 or _state.y() == 0) {
33 [[nodiscard]] T next()
noexcept;
38 [[nodiscard]] uint64_t
next() noexcept
74 hilet tmp = s ^ t ^ (t >> 26);
78 t = insert<0, 1>(t, tmp);
92 [[nodiscard]] u32x4 next() noexcept
94 return u32x4::cast_from(next<u64x2>());
98 [[nodiscard]] i32x4 next() noexcept
100 return i32x4::cast_from(next<u64x2>());
104 [[nodiscard]] i16x8
next() noexcept
106 return i16x8::cast_from(next<u64x2>());