private void ProcessFile(FileStream file) { h1 = seed; this.length = 0L; int pos = 0; ulong remaining = (ulong)file.Length; // read 128 bits, 16 bytes, 2 longs in each cycle. while (remaining >= READ_SIZE) { ulong k1 = file.GetUInt64(); pos += 8; ulong k2 = file.GetUInt64(); pos += 8; length += READ_SIZE; remaining -= READ_SIZE; MixBody(k1, k2); } if (remaining > 0) ProcessFileRemaining(file, remaining, pos); }