Kyopro Library
 
読み取り中…
検索中…
一致する文字列を見つけられません
xor128.hpp
[詳解]
1#pragma once
2#include"../../kyopro_library/template.hpp"
3
4/// @brief 疑似乱数生成
5ull Xor128() {
6 static bool flag=false;
7 static ull x=123456789,y=362436069,z=521288629,w=88675123;
8 if(!flag) {
9 random_device seedgen;
10 w=seedgen();
11 flag=true;
12 }
13 ull t=x^(x<<11);
14 x=y,y=z,z=w;
15 return w=(w^(w>>19))^(t^(t>>8));
16}
17ll Xor128(ll n) { return Xor128()%n; }
18ll Xor128(ll l, ll r) { return Xor128(r-l)+l; }//[l,r)
19ld Xor128Prob() { return (ld)Xor128()/(ULLONG_MAX); }
ll Xor128(ll l, ll r)
Definition xor128.hpp:18
ld Xor128Prob()
Definition xor128.hpp:19
ull Xor128()
疑似乱数生成
Definition xor128.hpp:5
ll Xor128(ll n)
Definition xor128.hpp:17