255 const size_t _Nx =
_Last - _First;
260 const size_t _Tx = 623 <= _Nx ? 11 : 68 <= _Nx ? 7
261 : 39 <= _Nx ? 5 : 7 <= _Nx ? 3 : (_Nx - 1) / 2;
262 const size_t _Px = (_Nx - _Tx) / 2;
263 const size_t _Qx = _Px + _Tx;
264 const size_t _Mx = _Nx <= _Sx ? _Sx + 1 : _Nx;
267 _Ty
_Mask = _Ty(1) << 31;
271 for (_Kx = 0; _Kx < _Nx; ++_Kx)
272 _First[_Kx] = 0x8b8b8b8b;
273 for (_Kx = 0; _Kx < _Mx; ++_Kx)
276 ^ _First[(_Kx + _Px) % _Nx] ^ _First[(_Kx - 1) % _Nx]);
278 : _Kx <= _Sx ? _Kx % _Nx +
_Myvec[(_Kx - 1) % _Sx]
279 : _Kx % _Nx)) &
_Mask);
281 _First[(_Kx + _Px) % _Nx] =
282 (_First[(_Kx + _Px) % _Nx] + _R1) & _Mask;
283 _First[(_Kx + _Qx) % _Nx] =
284 (_First[(_Kx + _Qx) % _Nx] + _R2) & _Mask;
285 _First[_Kx % _Nx] = _R2;
287 for (; _Kx < _Mx + _Nx; ++_Kx)
290 + _First[(_Kx + _Px) % _Nx] + _First[(_Kx - 1) % _Nx]);
293 _First[(_Kx + _Px) % _Nx] =
294 (_First[(_Kx + _Px) % _Nx] ^ _R3) & _Mask;
295 _First[(_Kx + _Qx) % _Nx] =
296 (_First[(_Kx + _Qx) % _Nx] ^ _R4) & _Mask;
297 _First[_Kx % _Nx] = _R4;
result_type _Xor27(result_type _Val) const
Definition: random:302
size_type size() const _NOEXCEPT
Definition: vector:1146
unsigned int result_type
Definition: random:204
_CRT_MANAGED_FP_DEPRECATE _In_ unsigned int _Mask
Definition: float.h:120
vector< result_type > _Myvec
Definition: random:307
_FwdIt _Last
Definition: algorithm:1936