public virtual char[] GenerateBitsAsCharsWithPeriodCheck(int length, Lfsr seed)
        {
            uint counter         = 0;
            uint period          = 0;
            bool periodFound     = false;
            var  initialRegister = new BitArray(seed.Register);

            char[] result = new char[length];

            for (int i = 0; i < length; i++)
            {
                result[i] = SeriesConverter.BoolToChar(GenerateOneBit());
                counter++;

                if (CompareBitArrays(initialRegister, this.Registers[0].Register))
                {
                    period      = counter;
                    counter     = 0;
                    periodFound = true;
                }
            }
            if (periodFound)
            {
                this.Period = period;
            }
            else
            {
                this.Period = counter;
            }

            return(result);
        }
        public virtual char[] GenerateBitsAsChars(int length)
        {
            char[] result = new char[length];

            for (int i = 0; i < length; i++)
            {
                result[i] = SeriesConverter.BoolToChar(GenerateOneBit());
            }

            return(result);
        }