algo — C++23 日本語リファレンス GitHub

Xoroshiro128

クラス · 疑似乱数生成器 xoroshiro128++

struct Xoroshiro128 : internal::RandomEngineBase<Xoroshiro128, std::array<std::uint64_t, 2>, std::uint64_t>;

概要

疑似乱数生成器 xoroshiro128++

計算量

構築・破棄

名前 説明 計算量
(constructor) (1) 既定seedで構築する
(2) 指定seedで構築する
$O(1)$

メンバ関数

名前 説明 計算量
serialize 現在の状態を返す
(基底 internal::RandomEngineBase から継承)
$O(1)$
deserialize 保存した状態を復元する
(基底 internal::RandomEngineBase から継承)
$O(1)$
rand_range a以上b以下の整数を偏りなく生成する(Lemire の方法)
(基底 internal::RandomEngineBase から継承)
期待 $O(1)$
random 0.0以上1.0未満の浮動小数点数を生成
(基底 internal::RandomEngineBase から継承)
$O(1)$

演算子

名前 説明 計算量
operator() 次の64bit乱数を返す $O(1)$
operator== 状態が等しいか返す
(基底 internal::RandomEngineBase から継承)
$O(1)$

静的メンバ関数

名前 説明 計算量
min 生成しうる最小値を返す
(基底 internal::RandomEngineBase から継承)
$O(1)$
max 生成しうる最大値を返す
(基底 internal::RandomEngineBase から継承)
$O(1)$

メンバ型

名前 説明 計算量
state_type 内部状態の型
(基底 internal::RandomEngineBase から継承)
型エイリアスで実行時計算量はない
result_type 生成結果の型
(基底 internal::RandomEngineBase から継承)
型エイリアスで実行時計算量はない

メンバの詳細

(constructor)

// (1)
constexpr Xoroshiro128() noexcept;

// (2)
constexpr Xoroshiro128(std::uint64_t seed) noexcept;

(1) 既定seedで構築する

(2) 指定seedで構築する

rand_range

constexpr result_type rand_range(result_type a, result_type b) noexcept;

(基底 internal::RandomEngineBase から継承)

a以上b以下の整数を偏りなく生成する(Lemire の方法)

random

constexpr double random() noexcept;

(基底 internal::RandomEngineBase から継承)

0.0以上1.0未満の浮動小数点数を生成