Created on 2008-01-15.00:00:00 last changed 172 months ago
Proposed resolution:
NAD Recommended.
[ Batavia (2009-05): ]
Move to NAD as recommended.
[ Post Summit Daniel adds: ]
Recommend NAD: xor_combine does no longer exist and discard_block[_engine] has now the required seed overload accepting a result_type, which shall be an unsigned integral type.
[ Jens adds: ]
Both engines do have the necessary constructor, therefore the omission of the seed() member functions appears to be an oversight.
Table 16 of TR1 requires that all Pseudo Random Number generators have a
seed(integer-type s)
member function that is equivalent to:
mygen = Generator(s)
But the generators xor_combine and discard_block have no such seed member, only the
template <class Gen> seed(Gen&);
member, which will not accept an integer literal as an argument: something that appears to violate the intent of Table 16.
So... is this a bug in TR1?
This is a real issue BTW, since the Boost implementation does adhere to the requirements of Table 16, while at least one commercial implementation does not and follows a strict adherence to sections 5.1.4.5 and 5.1.4.6 instead.
History | |||
---|---|---|---|
Date | User | Action | Args |
2010-10-21 18:28:33 | admin | set | messages: + msg3769 |
2010-10-21 18:28:33 | admin | set | messages: + msg3768 |
2010-10-21 18:28:33 | admin | set | messages: + msg3767 |
2010-10-21 18:28:33 | admin | set | messages: + msg3766 |
2008-01-15 00:00:00 | admin | create |