hamming_distance_slice

Function hamming_distance_slice 

Source
pub fn hamming_distance_slice(a: &[u8], b: &[u8]) -> u32
Expand description

Computes Hamming distance for arbitrary-length byte slices.

§Algorithm

  1. XOR each byte pair to find differing bits
  2. Count set bits using count_ones()
  3. Sum across all bytes

§Arguments

  • a - First byte slice
  • b - Second byte slice (must be same length as a)

§Returns

The number of differing bits

§Panics

Panics if slices have different lengths.

§Example

use edgevec::quantization::simd::portable::hamming_distance_slice;

let a = [0xAA; 32];
let b = [0x55; 32];

let distance = hamming_distance_slice(&a, &b);
assert_eq!(distance, 256); // All bits differ (32 * 8)