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); }