259 const size_t _Nx =
_Last - _First;
264 const size_t _Tx = 623 <= _Nx ? 11 : 68 <= _Nx ? 7
265 : 39 <= _Nx ? 5 : 7 <= _Nx ? 3 : (_Nx - 1) / 2;
266 const size_t _Px = (_Nx - _Tx) / 2;
267 const size_t _Qx = _Px + _Tx;
268 const size_t _Mx = _Nx <= _Sx ? _Sx + 1 : _Nx;
275 for (_Kx = 0; _Kx < _Nx; ++_Kx)
276 _First[_Kx] = 0x8b8b8b8b;
277 for (_Kx = 0; _Kx < _Mx; ++_Kx)
280 ^ _First[(_Kx + _Px) % _Nx] ^ _First[(_Kx - 1) % _Nx]);
282 : _Kx <= _Sx ? _Kx % _Nx +
_Myvec[(_Kx - 1) % _Sx]
283 : _Kx % _Nx)) &
_Mask);
285 _First[(_Kx + _Px) % _Nx] =
286 (_First[(_Kx + _Px) % _Nx] + _R1) & _Mask;
287 _First[(_Kx + _Qx) % _Nx] =
288 (_First[(_Kx + _Qx) % _Nx] + _R2) & _Mask;
289 _First[_Kx % _Nx] = _R2;
291 for (; _Kx < _Mx + _Nx; ++_Kx)
294 + _First[(_Kx + _Px) % _Nx] + _First[(_Kx - 1) % _Nx]);
297 _First[(_Kx + _Px) % _Nx] =
298 (_First[(_Kx + _Px) % _Nx] ^ _R3) & _Mask;
299 _First[(_Kx + _Qx) % _Nx] =
300 (_First[(_Kx + _Qx) % _Nx] ^ _R4) & _Mask;
301 _First[_Kx % _Nx] = _R4;
result_type _Xor27(result_type _Val) const
Definition: random:306
size_type size() const _NOEXCEPT
Definition: vector:1708
unsigned int result_type
Definition: random:209
typename iterator_traits< _Iter >::value_type _Iter_value_t
Definition: xutility:649
_CRT_MANAGED_FP_DEPRECATE _In_ unsigned int _Mask
Definition: float.h:235
vector< result_type > _Myvec
Definition: random:311
_FwdIt _Last
Definition: algorithm:1936