The state of the DRAND48 LCG should be a 48bit value. Currently, the RNGFactory uses the constructor of the LCG base class, which initializes the state to a standard 32 bits. A better solution would be to add a new constructor option that allows for a variable number of state bits (likely passed in as a pointer to a vector of bytes). This will make the update stage a bit more complex, as if the state is larger than 64/32 bits, the multiplication and additions will need to occur iteratively and propagate carries.
The state of the DRAND48 LCG should be a 48bit value. Currently, the RNGFactory uses the constructor of the LCG base class, which initializes the state to a standard 32 bits. A better solution would be to add a new constructor option that allows for a variable number of state bits (likely passed in as a pointer to a vector of bytes). This will make the update stage a bit more complex, as if the state is larger than 64/32 bits, the multiplication and additions will need to occur iteratively and propagate carries.