/// <summary> /// Encode an array of signed longs into a ZigZag encoded array of unsigned longs. /// </summary> /// <param name="values"></param> /// <returns></returns> public static UInt64[] Encode(Int64[] values) { var output = new UInt64[values.Length]; for (var i = 0; i < values.Length; i++) { output[i] = ZigZag.Encode(values[i]); } return(output); }
public void CompressSigned(Stream output, params Int64[] values) { #if DEBUG if (null == output) { throw new ArgumentNullException(nameof(output)); } if (null == values) { throw new ArgumentNullException(nameof(values)); } #endif CompressUnsigned(output, values.Select(symbol => ZigZag.Encode(symbol)).ToArray()); }
/// <summary> /// Append value to stream. /// </summary> /// <param name="value"></param> public void Write(Int64 value) { Underlying.Write(ZigZag.Encode(value)); }