Function zigzag_encode

Source
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);