public static size_t HUF_decodeStreamX2()

in csharp/src/HufDecompress.cs [222:245]


		public static size_t HUF_decodeStreamX2(BYTE* p, BIT_DStream_t bitDPtr, BYTE* pEnd, HUF_DEltX2* dt, U32 dtLog)
		{
			BYTE* pStart = p;

			/* up to 4 symbols at a time */
			while ((ReloadDStream(bitDPtr) == BIT_DStream_status.BIT_DStream_unfinished) & (p < pEnd - 3))
			{
				HUF_DECODE_SYMBOLX2_2(ref p, bitDPtr, dt, dtLog);
				HUF_DECODE_SYMBOLX2_1(ref p, bitDPtr, dt, dtLog);
				HUF_DECODE_SYMBOLX2_2(ref p, bitDPtr, dt, dtLog);
				HUF_DECODE_SYMBOLX2_0(ref p, bitDPtr, dt, dtLog);
			}

			/* [0-3] symbols remaining */
			if (MEM_32bits())
				while ((ReloadDStream(bitDPtr) == BIT_DStream_status.BIT_DStream_unfinished) & (p < pEnd))
					HUF_DECODE_SYMBOLX2_0(ref p, bitDPtr, dt, dtLog);

			/* no more data to retrieve from bitstream, no need to reload */
			while (p < pEnd)
				HUF_DECODE_SYMBOLX2_0(ref p, bitDPtr, dt, dtLog);

			return (size_t)(pEnd - pStart);
		}