Trait radix_heap::Radix

source ·
pub trait Radix {
    const RADIX_BITS: u32;

    // Required method
    fn radix_similarity(&self, other: &Self) -> u32;

    // Provided method
    fn radix_distance(&self, other: &Self) -> u32 { ... }
}
Expand description

A number that can be compared using radix distance

Required Associated Constants§

source

const RADIX_BITS: u32

The value returned by radix_similarty if all bits are equal

Required Methods§

source

fn radix_similarity(&self, other: &Self) -> u32

The number of high bits in a row that this and other has in common

Eg. the radix similarity of 001001 and 000001 is 2 because they share the 2 high bits.

Provided Methods§

source

fn radix_distance(&self, other: &Self) -> u32

Opposite of radix_similarity. If radix_distance returns 0, then radix_similarity returns radix_bits and vice versa.

Implementations on Foreign Types§

source§

impl<A: Radix, B: Radix> Radix for (A, B)

source§

fn radix_similarity(&self, other: &(A, B)) -> u32

source§

const RADIX_BITS: u32 = _

source§

impl Radix for i16

source§

fn radix_similarity(&self, other: &i16) -> u32

source§

const RADIX_BITS: u32 = 16u32

source§

impl Radix for i32

source§

fn radix_similarity(&self, other: &i32) -> u32

source§

const RADIX_BITS: u32 = 32u32

source§

impl Radix for i8

source§

fn radix_similarity(&self, other: &i8) -> u32

source§

const RADIX_BITS: u32 = 8u32

source§

impl Radix for i128

source§

fn radix_similarity(&self, other: &i128) -> u32

source§

const RADIX_BITS: u32 = 128u32

source§

impl Radix for isize

source§

fn radix_similarity(&self, other: &isize) -> u32

source§

const RADIX_BITS: u32 = 64u32

source§

impl Radix for ()

source§

fn radix_similarity(&self, _: &()) -> u32

source§

const RADIX_BITS: u32 = 0u32

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix> Radix for (A, B, C, D, E)

source§

impl Radix for u16

source§

fn radix_similarity(&self, other: &u16) -> u32

source§

const RADIX_BITS: u32 = 16u32

source§

impl Radix for u32

source§

fn radix_similarity(&self, other: &u32) -> u32

source§

const RADIX_BITS: u32 = 32u32

source§

impl<A: Radix, B: Radix, C: Radix> Radix for (A, B, C)

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix, F: Radix, G: Radix> Radix for (A, B, C, D, E, F, G)

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix> Radix for (A, B, C, D)

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix, F: Radix, G: Radix, H: Radix, I: Radix, J: Radix, K: Radix> Radix for (A, B, C, D, E, F, G, H, I, J, K)

source§

impl Radix for u8

source§

fn radix_similarity(&self, other: &u8) -> u32

source§

const RADIX_BITS: u32 = 8u32

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix, F: Radix, G: Radix, H: Radix, I: Radix, J: Radix, K: Radix, L: Radix> Radix for (A, B, C, D, E, F, G, H, I, J, K, L)

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix, F: Radix, G: Radix, H: Radix> Radix for (A, B, C, D, E, F, G, H)

source§

impl Radix for u64

source§

fn radix_similarity(&self, other: &u64) -> u32

source§

const RADIX_BITS: u32 = 64u32

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix, F: Radix> Radix for (A, B, C, D, E, F)

source§

impl<A: Radix> Radix for (A,)

source§

fn radix_similarity(&self, other: &(A,)) -> u32

source§

const RADIX_BITS: u32 = _

source§

impl<T: Radix> Radix for Reverse<T>

source§

fn radix_similarity(&self, other: &Reverse<T>) -> u32

source§

const RADIX_BITS: u32 = T::RADIX_BITS

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix, F: Radix, G: Radix, H: Radix, I: Radix> Radix for (A, B, C, D, E, F, G, H, I)

source§

impl Radix for i64

source§

fn radix_similarity(&self, other: &i64) -> u32

source§

const RADIX_BITS: u32 = 64u32

source§

impl Radix for usize

source§

fn radix_similarity(&self, other: &usize) -> u32

source§

const RADIX_BITS: u32 = 64u32

source§

impl<A: Radix, B: Radix, C: Radix, D: Radix, E: Radix, F: Radix, G: Radix, H: Radix, I: Radix, J: Radix> Radix for (A, B, C, D, E, F, G, H, I, J)

source§

impl Radix for u128

source§

fn radix_similarity(&self, other: &u128) -> u32

source§

const RADIX_BITS: u32 = 128u32

source§

impl<T: Radix> Radix for Wrapping<T>

source§

fn radix_similarity(&self, other: &Wrapping<T>) -> u32

source§

const RADIX_BITS: u32 = T::RADIX_BITS

Implementors§