public virtual byte[] GenerateBytes(int length) { bool[] result = new bool[length * 8]; for (int i = 0; i < result.Length; i++) { result[i] = GenerateOneBit(); } return(SeriesConverter.BoolToByteArray(result)); }
//period check public virtual byte[] GenerateBytesWithPeriodCheck(int length, Lfsr seed) { uint counter = 0; uint period = 0; var initialRegister = new BitArray(seed.Register); bool[] result = new bool[length * 8]; for (int i = 0; i < result.Length; i++) { result[i] = GenerateOneBit(); counter++; if (initialRegister.Equals(this.Registers[0])) { period = counter; } this.Period = period; } return(SeriesConverter.BoolToByteArray(result)); }