public void WriteVarLong(long value) { uint i = 0; CustomInt64 customInt64 = CustomInt64.fromNumber(value); if (customInt64.high != 0) { for (i = 0; i < 4; i++) { this._data.WriteByte((byte)(customInt64.low & 127 | 128)); customInt64.low >>= 7; } if ((customInt64.high & 2147483640) != 0) { this._data.WriteByte((byte)((customInt64.high << 4 | customInt64.low) & 127 | 128)); CustomDataWriter.writeint32(this._data, customInt64.high >> 3); } else { this._data.WriteByte((byte)(customInt64.high << 4 | customInt64.low)); } } else { CustomDataWriter.writeint32(this._data, customInt64.low); } }
public void WriteVarLong(long value) { uint i = 0; var val = CustomInt64.fromNumber(value); if (val.high == 0) { WriteInt32(_data, val.low); } else { i = 0; while (i < 4) { _data.WriteByte((byte)((val.low & 127) | 128)); val.low = val.low >> 7; i++; } if ((val.high & (268435455 << 3)) == 0) { _data.WriteByte((byte)((val.high << 4) | val.low)); } else { _data.WriteByte((byte)((((val.high << 4) | val.low) & 127) | 128)); WriteInt32(_data, val.high >> 3); } } }
private static CustomInt64 readInt64(IDataReader input) { CustomInt64 customInt64; uint num = 0; CustomInt64 customInt641 = new CustomInt64(); int num1 = 0; while (true) { num = input.ReadByte(); if (num1 == 28) { if (num < 128) { customInt641.low = customInt641.low | num << (num1 & 31); customInt641.high = num >> 4; customInt64 = customInt641; break; } else { num &= 127; customInt641.low = customInt641.low | num << (num1 & 31); customInt641.high = num >> 4; num1 = 3; while (true) { num = input.ReadByte(); if (num1 < 32) { if (num < 128) { break; } customInt641.high = customInt641.high | (num & 127) << (num1 & 31); } num1 += 7; } customInt641.high = customInt641.high | num << (num1 & 31); customInt64 = customInt641; break; } } else if (num < 128) { customInt641.low = customInt641.low | num << (num1 & 31); customInt64 = customInt641; break; } else { customInt641.low = customInt641.low | (num & 127) << (num1 & 31); num1 += 7; } } return(customInt64); }
private static CustomInt64 readInt64(IDataReader input) { uint b = 0; CustomInt64 result = new CustomInt64(); 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 = (uint)(result.high | (b & 127) << i); } else { break; } } i = i + 7; } result.high = (uint)(result.high | (b << i)); return(result); } result.low = result.low | b << i; result.high = b >> 4; return(result); }
private CustomInt64 ReadInt64() { uint b; var result = new CustomInt64(); 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); }