pub struct PositionEncoder { /* private fields */ }Expand description
Basic position encoder that converts chess positions to vectors
Implementations§
Source§impl PositionEncoder
impl PositionEncoder
pub fn new(vector_size: usize) -> Self
Sourcepub fn vector_size(&self) -> usize
pub fn vector_size(&self) -> usize
Get the vector size
Sourcepub fn encode(&self, board: &Board) -> Array1<f32>
pub fn encode(&self, board: &Board) -> Array1<f32>
Encode a chess position into a vector (optimized version)
Sourcepub fn similarity(&self, vec1: &Array1<f32>, vec2: &Array1<f32>) -> f32
pub fn similarity(&self, vec1: &Array1<f32>, vec2: &Array1<f32>) -> f32
Calculate similarity between two position vectors
Sourcepub fn distance(&self, vec1: &Array1<f32>, vec2: &Array1<f32>) -> f32
pub fn distance(&self, vec1: &Array1<f32>, vec2: &Array1<f32>) -> f32
Calculate Euclidean distance between two vectors
Sourcepub fn encode_batch(&self, boards: &[Board]) -> Vec<Array1<f32>> ⓘ
pub fn encode_batch(&self, boards: &[Board]) -> Vec<Array1<f32>> ⓘ
Encode multiple positions in parallel
Trait Implementations§
Source§impl Clone for PositionEncoder
impl Clone for PositionEncoder
Source§fn clone(&self) -> PositionEncoder
fn clone(&self) -> PositionEncoder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PositionEncoder
impl RefUnwindSafe for PositionEncoder
impl Send for PositionEncoder
impl Sync for PositionEncoder
impl Unpin for PositionEncoder
impl UnwindSafe for PositionEncoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more