in cs/src/io/unsafe/IntegerHelper.cs [65:124]
public unsafe static int EncodeVarUInt64(byte* data, ulong value, int index)
{
// byte 0
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 1
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 2
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 3
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 4
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 5
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 6
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 7
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
// byte 8
if (value >= 0x80)
{
data[index++] = (byte)(value | 0x80);
value >>= 7;
}
}
}
}
}
}
}
}
}
// last byte
data[index++] = (byte)value;
return index;
}