private void EncodeBlock(int blockContentLength, int targetDenominator) { Output.WriteLong(blockContentLength, 23); FrequencyDictionary <int> frequencies = new FrequencyDictionary <int>(); for (int i = 0; i < blockContentLength; i++) { frequencies.AddData(Block[i]); } AnsCodingTable blockTable = new AnsCodingTable(frequencies, targetDenominator); blockTable.WriteTable(Output); WriteEncoding(blockContentLength, blockTable); }
public void EncodeBlock(int[] blockIn, int count, int targetDenominator, byte[] encryptionKey = null) { Output.WriteLong(count, 23); Block = blockIn; FrequencyDictionary <int> frequencies = new FrequencyDictionary <int>(); int offsetCount = count; for (int i = 0; i < offsetCount; i++) { frequencies.AddData(Block[i]); } AnsCodingTable blockTable = new AnsCodingTable(frequencies, targetDenominator, encryptionKey); blockTable.WriteTable(Output); WriteEncoding(count, blockTable); }