internal static Object GetHhlcAddress(int value, byte size)
{
if (size < 2 && value < 0x80)
{
return (byte)(value << 1 | 1);
}
if (size < 4 && value < 0x4000)
{
return (UInt16)((value & 0x3F80) << 2 | (value & 0x7F) << 1 | 1);
}
if (value < 0x10000000)
{
return (UInt32)((value & 0xFE00000) << 4 | (value & 0x1FC000) << 3
| (value & 0x3F80) << 2 | (value & 0x7F) << 1 | 1);
}
throw new ArgumentException("Invalid address.");
}