views:

28

answers:

1

I am trying to use random::linear_congruential in boost (http://www.boost.org/doc/libs/1_33_1/libs/random/random-generators.html#linear_congruential) to generate uniform random numbers. The declaration is defined as:

template<class IntType, IntType a, IntType c, IntType m, IntType val>

Does anyone know what the last parameter IntType val means? It is not documented and I could not find any reference. I am setting up my parameters as follows but don't understand how to set val:

random::linear_congruential<long, 39373L, 0, 2147483647L, ??> generator;
+2  A: 

Given seed = 1, the 10,000th value returned by the generator must be val. This is apparently a common practice among PRNG implementors to use the 10,000th value as a test.

Cubbi
what if I don't know the 10,000th value that will be returned? And if I don't want to set this value as it looks like it is required.
@user236215: I think it's only required for unit tests. The generator will be working and producing the same values regardless of what `val` is set to.
Cubbi