Varint v1.2.0 Varint.Zigzag View Source

This module provides functions to work with signed integers.

Link to this section Summary

Functions

Decodes an unsigned integer into a signed integer

Encodes a signed integer into an unsigned integer suitable for LEB128 encoding

Link to this section Functions

Decodes an unsigned integer into a signed integer.

iex> Varint.Zigzag.decode(0)
0

iex> Varint.Zigzag.decode(1)
-1

iex> Varint.Zigzag.decode(2)
1

iex> Varint.Zigzag.decode(3)
-2

iex> Varint.Zigzag.decode(4294967294)
2147483647

iex> Varint.Zigzag.decode(4294967295)
-2147483648

Encodes a signed integer into an unsigned integer suitable for LEB128 encoding.

iex> Varint.Zigzag.encode(0)
0

iex> Varint.Zigzag.encode(-1)
1

iex> Varint.Zigzag.encode(1)
2

iex> Varint.Zigzag.encode(-2)
3

iex> Varint.Zigzag.encode(-2147483648)
4294967295

iex> Varint.Zigzag.encode(2147483647)
4294967294