quant-pricer-cpp
Loading...
Searching...
No Matches
rng.hpp File Reference
#include <algorithm>
#include <cstdint>
#include <limits>
#include "quant/math.hpp"
+ Include dependency graph for rng.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  quant
 Barrier option primitives and configuration.
 
namespace  quant::rng
 Deterministic random number generation utilities.
 
namespace  quant::rng::detail
 

Enumerations

enum class  quant::rng::Mode { quant::rng::Mt19937 , quant::rng::Counter }
 RNG mode selection: traditional PRNG or deterministic counter-based. More...
 

Functions

std::uint64_t quant::rng::detail::hash_combine (std::uint64_t x, std::uint64_t y)
 
double quant::rng::normal (std::uint64_t master_seed, std::uint64_t path_id, std::uint32_t step_id, std::uint32_t dim_id, std::uint32_t stream_id)
 Deterministic standard normal draw via inverse CDF transform.
 
std::uint64_t quant::rng::detail::splitmix64 (std::uint64_t x)
 
double quant::rng::detail::to_unit_interval (std::uint64_t bits)
 
double quant::rng::uniform (std::uint64_t master_seed, std::uint64_t path_id, std::uint32_t step_id, std::uint32_t dim_id, std::uint32_t stream_id)
 Deterministic hash of RNG identifiers -> uniform (0,1)
 

Variables

constexpr std::uint64_t quant::rng::detail::kMixConst1 = 0x9E3779B97F4A7C15ULL
 
constexpr std::uint64_t quant::rng::detail::kMixConst2 = 0xBF58476D1CE4E5B9ULL
 
constexpr std::uint64_t quant::rng::detail::kMixConst3 = 0x94D049BB133111EBULL