pub struct PerftHashTable {
    pub table: Vec<PerftHashTableBucket>,
}

Fields§

§table: Vec<PerftHashTableBucket>

Implementations§

source§

impl PerftHashTable

source

pub fn new(size: usize) -> Self

Constructs a new instance of PerftHashTable by allocating size bytes of memory.

source

pub fn add(&self, hash: u64, depth: u8, leafs_count: u64)

Adds a new entry (storing hash, depth and leafs_count) using hash to calculate an index of the bucket.

source

pub fn get(&self, hash: u64, depth: u8) -> Option<PerftHashTableResult>

Gets a wanted entry from the specified depth using hash to calculate an index of the bucket. Returns None if entry does not exists or hash is incompatible with the stored key.

source

pub fn get_usage(&self, resolution: usize) -> f32

Calculates an approximate percentage usage of the table, based on the first resolution entries.

source

fn get_index(&self, hash: u64) -> usize

Calculates an index for the hash.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.