Skip to main content

zigzag_encode

Function zigzag_encode 

Source
pub fn zigzag_encode(n: i64) -> u64
Expand description

Encode a signed 64-bit integer using ZigZag encoding.

Maps signed integers to unsigned: 0→0, -1→1, 1→2, -2→3, 2→4, …

use crous_core::varint::zigzag_encode;
assert_eq!(zigzag_encode(0), 0);
assert_eq!(zigzag_encode(-1), 1);
assert_eq!(zigzag_encode(1), 2);
assert_eq!(zigzag_encode(-2), 3);
assert_eq!(zigzag_encode(i64::MIN), u64::MAX);