HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions
tt::xorshift128p Class Reference

#include <ttauri/random/xorshift128p.hpp>

Public Member Functions

constexpr xorshift128p (xorshift128p const &) noexcept=default
 
constexpr xorshift128p (xorshift128p &&) noexcept=default
 
constexpr xorshift128poperator= (xorshift128p const &) noexcept=default
 
constexpr xorshift128poperator= (xorshift128p &&) noexcept=default
 
constexpr xorshift128p (u64x2 new_state) noexcept
 
 xorshift128p (seed_generator &sg) 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<>
uint64_t tt::xorshift128p::next ( )
inlinenoexcept

Get the next 64 bit of random value.

◆ next() [2/2]

template<>
u64x2 tt::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.


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