236 const size_t _Nx =
_Last - _First;
241 const size_t _Tx = 623 <= _Nx ? 11 : 68 <= _Nx ? 7
242 : 39 <= _Nx ? 5 : 7 <= _Nx ? 3 : (_Nx - 1) / 2;
243 const size_t _Px = (_Nx - _Tx) / 2;
244 const size_t _Qx = _Px + _Tx;
245 const size_t _Mx = _Nx <= _Sx ? _Sx + 1 : _Nx;
252 for (_Kx = 0; _Kx < _Nx; ++_Kx)
253 _First[_Kx] = 0x8b8b8b8b;
254 for (_Kx = 0; _Kx < _Mx; ++_Kx)
257 ^ _First[(_Kx + _Px) % _Nx] ^ _First[(_Kx - 1) % _Nx]);
259 : _Kx <= _Sx ? _Kx % _Nx +
_Myvec[(_Kx - 1) % _Sx]
260 : _Kx % _Nx)) & _Mask);
262 _First[(_Kx + _Px) % _Nx] =
263 (_First[(_Kx + _Px) % _Nx] + _R1) & _Mask;
264 _First[(_Kx + _Qx) % _Nx] =
265 (_First[(_Kx + _Qx) % _Nx] + _R2) & _Mask;
266 _First[_Kx % _Nx] = _R2;
268 for (; _Kx < _Mx + _Nx; ++_Kx)
271 + _First[(_Kx + _Px) % _Nx] + _First[(_Kx - 1) % _Nx]);
274 _First[(_Kx + _Px) % _Nx] =
275 (_First[(_Kx + _Px) % _Nx] ^ _R3) & _Mask;
276 _First[(_Kx + _Qx) % _Nx] =
277 (_First[(_Kx + _Qx) % _Nx] ^ _R4) & _Mask;
278 _First[_Kx % _Nx] = _R4;
result_type _Xor27(result_type _Val) const
Definition: random:283
size_type size() const _NOEXCEPT
Definition: vector:1178
unsigned int result_type
Definition: random:186
typename iterator_traits< _Iter >::value_type _Iter_value_t
Definition: xutility:647
vector< result_type > _Myvec
Definition: random:288
_FwdIt _Last
Definition: algorithm:1936