HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
v1::xorshift128p Class Reference

#include <hikogui/random/xorshift128p.hpp>

Public Member Functions

constexpr xorshift128p (xorshift128p const &) noexcept=default
constexpr xorshift128p (xorshift128p &&) noexcept=default
constexpr xorshift128p & operator= (xorshift128p const &) noexcept=default
constexpr xorshift128p & operator= (xorshift128p &&) noexcept=default
constexpr xorshift128p (u64x2 new_state) noexcept
template<typename T>
next () noexcept
template<>
uint64_t next () noexcept
 Get the next 64 bit of random value.
template<>
u64x2 next () noexcept
 Get next 128 bit of random value.
template<>
u32x4 next () noexcept
template<>
i32x4 next () noexcept
template<>
i16x8 next () noexcept

Detailed Description

xorshift128+

Member Function Documentation

◆ next() [1/2]

template<>
u64x2 v1::xorshift128p::next ( )
inlinenoexcept

Get next 128 bit of random value.

The algorithm is based around next64(), it was modified to do two consecutive iterations and then merging those using sse instructions.

◆ next() [2/2]

template<>
uint64_t v1::xorshift128p::next ( )
inlinenodiscardnoexcept

Get the next 64 bit of random value.


The documentation for this class was generated from the following file: