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); }
public virtual Int32[] GenerateIntegers(int length) { bool[] result = new bool[length * 32]; for (int i = 0; i < result.Length; i++) { result[i] = GenerateOneBit(); } return(SeriesConverter.BoolToInt32(result)); }
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)); }