System.Security.Cryptography.RIPEMD160Managed.CompressFinal C# (CSharp) Method

CompressFinal() private method

private CompressFinal ( ulong length ) : void
length ulong
return void
		private void CompressFinal(ulong length) {
			uint lswlen = (uint)(length & 0xFFFFFFFF);
			uint mswlen = (uint)(length >> 32);
			// clear _X
			Array.Clear(_X, 0, _X.Length);
			// put bytes from _ProcessingBuffer into _X
			int ptr = 0;
			for (uint i = 0; i < (lswlen & 63); i++) {
				// byte i goes into word X[i div 4] at pos.  8*(i mod 4)
				_X[i >> 2] ^= ((uint)_ProcessingBuffer[ptr++]) << (int)(8 * (i & 3));
			}
			// append the bit m_n == 1
			_X[(lswlen >> 2) & 15] ^= (uint)1 << (int)(8 * (lswlen & 3) + 7);
			if ((lswlen & 63) > 55) {
				// length goes to next block
				Compress();
				Array.Clear(_X, 0, _X.Length);
			}
			// append length in bits
			_X[14] = lswlen << 3;
			_X[15] = (lswlen >> 29) | (mswlen << 3);
			Compress();
		}