/* Copyright 2017 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ namespace Org.Brotli.Dec { /// Byte-to-int conversion magic. internal sealed class IntReader { private byte[] byteBuffer; private int[] intBuffer; internal static void Init(Org.Brotli.Dec.IntReader ir, byte[] byteBuffer, int[] intBuffer) { ir.byteBuffer = byteBuffer; ir.intBuffer = intBuffer; } /// Translates bytes to ints. /// /// Translates bytes to ints. /// NB: intLen == 4 * byteSize! /// NB: intLen should be less or equal to intBuffer length. /// internal static void Convert(Org.Brotli.Dec.IntReader ir, int intLen) { for (int i = 0; i < intLen; ++i) { ir.intBuffer[i] = ((ir.byteBuffer[i * 4] & unchecked((int)(0xFF)))) | ((ir.byteBuffer[(i * 4) + 1] & unchecked((int)(0xFF))) << 8) | ((ir.byteBuffer[(i * 4) + 2] & unchecked((int)(0xFF))) << 16) | ((ir.byteBuffer[(i * 4) + 3] & unchecked((int )(0xFF))) << 24); } } } }