pub fn zigzag_encode(value: i32) -> u32
Expand description
Encodes a signed integer into an unsigned integer using zigzag encoding.
ZigZag encoding maps signed integers to unsigned integers in a way that preserves magnitude ordering while using fewer bits for small negative values.
ยงExamples
use toolbox_rs::math::zigzag_encode;
assert_eq!(zigzag_encode(0i32), 0u32);
assert_eq!(zigzag_encode(-1i32), 1u32);
assert_eq!(zigzag_encode(1i32), 2u32);
assert_eq!(zigzag_encode(-2i32), 3u32);