Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::chardelay::Xorshift32 Class Reference

#include <primitives.hpp>

Public Member Functions

 Xorshift32 (std::uint32_t seed=74207u)
void reseed (std::uint32_t seed) noexcept
void reset () noexcept
std::uint32_t next () noexcept
double uniform () noexcept
 Uniform in [0, 1].
double bipolar () noexcept
 Uniform in [-1, 1].
double gaussian () noexcept
 Standard normal via Box-Muller (Box & Muller 1958).

Constructor & Destructor Documentation

◆ Xorshift32()

pulp::signal::chardelay::Xorshift32::Xorshift32 ( std::uint32_t seed = 74207u)
inlineexplicit

Member Function Documentation

◆ bipolar()

double pulp::signal::chardelay::Xorshift32::bipolar ( )
inlinenoexcept

Uniform in [-1, 1].

◆ gaussian()

double pulp::signal::chardelay::Xorshift32::gaussian ( )
inlinenoexcept

Standard normal via Box-Muller (Box & Muller 1958).

The transform produces two independent deviates per pair of draws; the second is cached so the PRNG consumption rate stays one draw per sample on average, which keeps long-run stream alignment stable.

◆ next()

std::uint32_t pulp::signal::chardelay::Xorshift32::next ( )
inlinenoexcept

◆ reseed()

void pulp::signal::chardelay::Xorshift32::reseed ( std::uint32_t seed)
inlinenoexcept

◆ reset()

void pulp::signal::chardelay::Xorshift32::reset ( )
inlinenoexcept

◆ uniform()

double pulp::signal::chardelay::Xorshift32::uniform ( )
inlinenoexcept

Uniform in [0, 1].


The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/character_delay/primitives.hpp