Seeds the engine.
The first seed function sets the stored value stored_value to 1 if C mod M == 0 and x0 mod M == 0, otherwise it sets the stored value to x0 mod M. The second seed function calls seed(x), where x is determined as follows:
k is the number of unsigned long integers needed to supply all the bits in a UIntType integer (at least 1).
a is an array of 3 + k elements of type UIntType.
a is initialized by calling seq.generate(&a, &a[3 + k]).
x is composed by packing the k elements beginning at a, which supplies the lowest-order bits.