Пример #1
0
        public void RoundTripZigZag64()
        {
            Assert.AreEqual(0, ParsingPrimitives.DecodeZigZag64(WritingPrimitives.EncodeZigZag64(0)));
            Assert.AreEqual(1, ParsingPrimitives.DecodeZigZag64(WritingPrimitives.EncodeZigZag64(1)));
            Assert.AreEqual(-1, ParsingPrimitives.DecodeZigZag64(WritingPrimitives.EncodeZigZag64(-1)));
            Assert.AreEqual(14927, ParsingPrimitives.DecodeZigZag64(WritingPrimitives.EncodeZigZag64(14927)));
            Assert.AreEqual(-3612, ParsingPrimitives.DecodeZigZag64(WritingPrimitives.EncodeZigZag64(-3612)));

            Assert.AreEqual(856912304801416L,
                            ParsingPrimitives.DecodeZigZag64(WritingPrimitives.EncodeZigZag64(856912304801416L)));
            Assert.AreEqual(-75123905439571256L,
                            ParsingPrimitives.DecodeZigZag64(WritingPrimitives.EncodeZigZag64(-75123905439571256L)));
        }
Пример #2
0
 public void DecodeZigZag64()
 {
     Assert.AreEqual(0, ParsingPrimitives.DecodeZigZag64(0));
     Assert.AreEqual(-1, ParsingPrimitives.DecodeZigZag64(1));
     Assert.AreEqual(1, ParsingPrimitives.DecodeZigZag64(2));
     Assert.AreEqual(-2, ParsingPrimitives.DecodeZigZag64(3));
     Assert.AreEqual(0x000000003FFFFFFFL, ParsingPrimitives.DecodeZigZag64(0x000000007FFFFFFEL));
     Assert.AreEqual(unchecked ((long)0xFFFFFFFFC0000000L), ParsingPrimitives.DecodeZigZag64(0x000000007FFFFFFFL));
     Assert.AreEqual(0x000000007FFFFFFFL, ParsingPrimitives.DecodeZigZag64(0x00000000FFFFFFFEL));
     Assert.AreEqual(unchecked ((long)0xFFFFFFFF80000000L), ParsingPrimitives.DecodeZigZag64(0x00000000FFFFFFFFL));
     Assert.AreEqual(0x7FFFFFFFFFFFFFFFL, ParsingPrimitives.DecodeZigZag64(0xFFFFFFFFFFFFFFFEL));
     Assert.AreEqual(unchecked ((long)0x8000000000000000L), ParsingPrimitives.DecodeZigZag64(0xFFFFFFFFFFFFFFFFL));
 }
Пример #3
0
 /// <summary>
 /// Reads an sint64 field value from the stream.
 /// </summary>
 public long ReadSInt64()
 {
     return(ParsingPrimitives.DecodeZigZag64(ReadRawVarint64()));
 }
Пример #4
0
 public long ReadSInt64()
 {
     return(ParsingPrimitives.DecodeZigZag64(ParsingPrimitives.ParseRawVarint64(ref buffer, ref state)));
 }