Proposed resolution:
This wording is relative to N4988.
Modify [rand.eng.philox], [tab:rand.eng.philox.f] as indicated (This effectively reduces 16 data columns to 4 data columns and 4 data rows to 2 data rows):
Table 101 — Values for the word permutation fn(j) [tab:rand.eng.philox.f] fn(j) j 0 1 2 3 456789101112131415n 2 0 1 4 2 01 30 23 1821476503160921361141510712314581
Modify [rand.eng.philox] as indicated:
-4- […]
(4.1) — […]
(4.2) — The following computations are applied to the elements of the V sequence:
= mulhi
mullo(,,w) xor xor= mullo
mulhi(,,w)xor xor-5- […]
-6- Mandates:
(6.1) — […]
(6.2) — n == 2 || n == 4
|| n == 8 || n == 16is true, and(6.3) — […]
(6.4) — […]
Modify [rand.predef] as indicated:
using philox4x32 = philox_engine<uint_fast32_t, 32, 4, 10, 0xCD9E8D570xD2511F53, 0x9E3779B9, 0xD2511F530xCD9E8D57, 0xBB67AE85>;-11- Required behavior: The 10000th consecutive invocation a default-constructed object of type philox4x32 produces the value 1955073260.
using philox4x64 = philox_engine<uint_fast64_t, 64, 4, 10, 0xCA5A8263951211570xD2E7470EE14C6C93, 0x9E3779B97F4A7C15, 0xD2E7470EE14C6C930xCA5A826395121157, 0xBB67AE8584CAA73B>;-12- Required behavior: The 10000th consecutive invocation a default-constructed object of type philox4x64 produces the value 3409172418970261260.