Example #1
0
        public void Encode()
        {
            VariantLengthInteger.WriteBuffer(buffer, (uint)this.orderedValues.Count());

            uint lastNeighbor = 0;

            foreach (uint x in this.orderedValues)
            {
                uint delta = x - lastNeighbor;
                VariantLengthInteger.WriteBuffer(buffer, delta);
                lastNeighbor = x;
            }
        }
Example #2
0
        public void Decode()
        {
            int         index = 0;
            uint        count = VariantLengthInteger.ReadUIntFromBuffer(this.buffer, ref index);
            List <uint> res   = new List <uint>();

            uint prefixSum = 0;

            for (uint i = 0; i < count; ++i)
            {
                uint delta = VariantLengthInteger.ReadUIntFromBuffer(buffer, ref index);
                prefixSum += delta;
                res.Add(prefixSum);
            }
        }