ResetGenerator()
        {
            MersenneTwisterRandomSource gen = new MersenneTwisterRandomSource(_seed);

            _x = new uint[_longLag];
            for (uint j = 0; j < _longLag; ++j)
            {
                _x[j] = gen.NextUInt();
            }
            _i = _longLag;

            // Reset helper variables used for generation of random bools.
            _bitBuffer = 0;
            _bitCount  = 0;
        }
        /// <summary>
        /// Resets the <see cref="AdditiveLaggedFibonacciRandomSource"/>,
        /// so that it produces the same pseudo-random number sequence again.
        /// </summary>
        void ResetGenerator()
        {
            MersenneTwisterRandomSource gen = new MersenneTwisterRandomSource(_seed);

            _x = new uint[_longLag];
            for(uint j = 0; j < _longLag; ++j)
            {
                _x[j] = gen.NextFullRangeUInt32();
            }

            _i = _longLag;

            // Reset helper variables used for generation of random bools.
            _bitBuffer = 0;
            _bitCount = 0;
        }