private CustomUInt64 readUInt64(IDataReader input) { CustomUInt64 customUInt64; uint num = 0; CustomUInt64 customUInt641 = new CustomUInt64(); int num1 = 0; while (true) { num = input.ReadByte(); if (num1 == 28) { if (num < 128) { customUInt641.low = customUInt641.low | num << (num1 & 31); customUInt641.high = num >> 4; customUInt64 = customUInt641; break; } else { num &= 127; customUInt641.low = customUInt641.low | num << (num1 & 31); customUInt641.high = num >> 4; num1 = 3; while (true) { num = input.ReadByte(); if (num1 < 32) { if (num < 128) { break; } customUInt641.high = customUInt641.high | (num & 127) << (num1 & 31); } num1 += 7; } customUInt641.high = customUInt641.high | num << (num1 & 31); customUInt64 = customUInt641; break; } } else if (num < 128) { customUInt641.low = customUInt641.low | num << (num1 & 31); customUInt64 = customUInt641; break; } else { customUInt641.low = customUInt641.low | (num & 127) << (num1 & 31); num1 += 7; } } return(customUInt64); }
private CustomUInt64 readUInt64(IDataReader input) { uint b = 0; var result = new CustomUInt64(); int i = 0; while (true) { b = input.ReadByte(); if (i == 28) { break; } if (b >= 128) { result.low = result.low | (b & 127) << i; i = i + 7; continue; } result.low = result.low | b << i; return(result); } if (b >= 128) { b = b & 127; result.low = result.low | b << i; result.high = b >> 4; i = 3; while (true) { b = input.ReadByte(); if (i < 32) { if (b >= 128) { result.high = result.high | (b & 127) << i; } else { break; } } i = i + 7; } result.high = result.high | b << i; return(result); } result.low = result.low | b << i; result.high = b >> 4; return(result); }
private CustomUInt64 ReadUInt64() { uint b; var result = new CustomUInt64(); var i = 0; while (true) { b = ReadByte(); if (i == 28) { break; } if (b >= 128) { result.low = result.low | ((b & 127) << i); i = i + 7; continue; } result.low = result.low | (b << i); return(result); } if (b >= 128) { b = b & 127; result.low = result.low | (b << i); result.high = b >> 4; i = 3; while (true) { b = ReadByte(); if (i < 32) { if (b >= 128) { result.high = result.high | ((b & 127) << i); } else { break; } } i = i + 7; } result.high = result.high | (b << i); return(result); } result.low = result.low | (b << i); result.high = b >> 4; return(result); }
public ulong ReadVarULong() { uint b = 0; var result = new CustomUInt64(); int i = 0; while (true) { b = (byte)_ms.ReadByte(); if (i == 28) { break; } if (b >= 128) { result.low = result.low | (b & 127) << i; i = i + 7; continue; } result.low = result.low | b << i; return(result.toNumber()); } if (b >= 128) { b = b & 127; result.low = result.low | b << i; result.high = b >> 4; i = 3; while (true) { b = (byte)_ms.ReadByte(); if (i < 32) { if (b >= 128) { result.high = result.high | (b & 127) << i; } else { break; } } i = i + 7; } result.high = result.high | b << i; return(result.toNumber()); } result.low = result.low | b << i; result.high = b >> 4; return(result.toNumber()); }