Skip to main content

SimilarityScore

Struct SimilarityScore 

Source
pub struct SimilarityScore<T>(/* private fields */)
where
    T: Copy;
Expand description

The DiskANN library uses f32 values to represent similarity scores, but distance functions can return either similarity-scores (those that are potentially transformed so that minimization yields higher similarity) and mathematical values (those that are computed from the mathematical definition of the operation.

Since those are currently mixed in the library with the more common use being a similarity-score, make the MathematicalValue the type to represent no transformation was performed.

Implementations§

Source§

impl<T: Copy> SimilarityScore<T>

Source

pub fn new(value: T) -> Self

Source

pub fn into_inner(self) -> T

Trait Implementations§

Source§

impl<T> Clone for SimilarityScore<T>
where T: Copy + Clone,

Source§

fn clone(&self) -> SimilarityScore<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for SimilarityScore<T>
where T: Copy + Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> PartialEq for SimilarityScore<T>
where T: Copy + PartialEq,

Source§

fn eq(&self, other: &SimilarityScore<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T> PartialOrd for SimilarityScore<T>
where T: Copy + PartialOrd,

Source§

fn partial_cmp(&self, other: &SimilarityScore<T>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl PureDistanceFunction<&[f16], &[f16], SimilarityScore<f32>> for Cosine

Source§

impl PureDistanceFunction<&[f16], &[f16], SimilarityScore<f32>> for CosineNormalized

Source§

impl PureDistanceFunction<&[f16], &[f16], SimilarityScore<f32>> for FullL2

Source§

impl PureDistanceFunction<&[f16], &[f16], SimilarityScore<f32>> for InnerProduct

Source§

impl PureDistanceFunction<&[f16], &[f16], SimilarityScore<f32>> for SquaredL2

Source§

impl<const N: usize> PureDistanceFunction<&[f16; N], &[f16; N], SimilarityScore<f32>> for Cosine

Source§

impl<const N: usize> PureDistanceFunction<&[f16; N], &[f16; N], SimilarityScore<f32>> for CosineNormalized

Source§

impl<const N: usize> PureDistanceFunction<&[f16; N], &[f16; N], SimilarityScore<f32>> for FullL2

Source§

impl<const N: usize> PureDistanceFunction<&[f16; N], &[f16; N], SimilarityScore<f32>> for InnerProduct

Source§

impl<const N: usize> PureDistanceFunction<&[f16; N], &[f16; N], SimilarityScore<f32>> for SquaredL2

Source§

impl PureDistanceFunction<&[f32], &[f16], SimilarityScore<f32>> for Cosine

Source§

impl PureDistanceFunction<&[f32], &[f16], SimilarityScore<f32>> for CosineNormalized

Source§

impl PureDistanceFunction<&[f32], &[f16], SimilarityScore<f32>> for FullL2

Source§

impl PureDistanceFunction<&[f32], &[f16], SimilarityScore<f32>> for InnerProduct

Source§

impl PureDistanceFunction<&[f32], &[f16], SimilarityScore<f32>> for SquaredL2

Source§

impl PureDistanceFunction<&[f32], &[f32], SimilarityScore<f32>> for Cosine

Source§

impl PureDistanceFunction<&[f32], &[f32], SimilarityScore<f32>> for CosineNormalized

Source§

impl PureDistanceFunction<&[f32], &[f32], SimilarityScore<f32>> for FullL2

Source§

impl PureDistanceFunction<&[f32], &[f32], SimilarityScore<f32>> for InnerProduct

Source§

impl PureDistanceFunction<&[f32], &[f32], SimilarityScore<f32>> for SquaredL2

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f16; N], SimilarityScore<f32>> for Cosine

Source§

fn evaluate(x: &[f32; N], y: &[Half; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f16; N], SimilarityScore<f32>> for CosineNormalized

Source§

fn evaluate(x: &[f32; N], y: &[Half; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f16; N], SimilarityScore<f32>> for FullL2

Source§

fn evaluate(x: &[f32; N], y: &[Half; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f16; N], SimilarityScore<f32>> for InnerProduct

Source§

fn evaluate(x: &[f32; N], y: &[Half; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f16; N], SimilarityScore<f32>> for SquaredL2

Source§

fn evaluate(x: &[f32; N], y: &[Half; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f32; N], SimilarityScore<f32>> for Cosine

Source§

fn evaluate(x: &[f32; N], y: &[f32; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f32; N], SimilarityScore<f32>> for CosineNormalized

Source§

fn evaluate(x: &[f32; N], y: &[f32; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f32; N], SimilarityScore<f32>> for FullL2

Source§

fn evaluate(x: &[f32; N], y: &[f32; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f32; N], SimilarityScore<f32>> for InnerProduct

Source§

fn evaluate(x: &[f32; N], y: &[f32; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[f32; N], &[f32; N], SimilarityScore<f32>> for SquaredL2

Source§

fn evaluate(x: &[f32; N], y: &[f32; N]) -> SimilarityScore<f32>

Source§

impl PureDistanceFunction<&[i8], &[i8], SimilarityScore<f32>> for Cosine

Source§

impl PureDistanceFunction<&[i8], &[i8], SimilarityScore<f32>> for FullL2

Source§

impl PureDistanceFunction<&[i8], &[i8], SimilarityScore<f32>> for InnerProduct

Source§

impl PureDistanceFunction<&[i8], &[i8], SimilarityScore<f32>> for SquaredL2

Source§

impl<const N: usize> PureDistanceFunction<&[i8; N], &[i8; N], SimilarityScore<f32>> for Cosine

Source§

fn evaluate(x: &[i8; N], y: &[i8; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[i8; N], &[i8; N], SimilarityScore<f32>> for FullL2

Source§

fn evaluate(x: &[i8; N], y: &[i8; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[i8; N], &[i8; N], SimilarityScore<f32>> for InnerProduct

Source§

fn evaluate(x: &[i8; N], y: &[i8; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[i8; N], &[i8; N], SimilarityScore<f32>> for SquaredL2

Source§

fn evaluate(x: &[i8; N], y: &[i8; N]) -> SimilarityScore<f32>

Source§

impl PureDistanceFunction<&[u8], &[u8], SimilarityScore<f32>> for Cosine

Source§

impl PureDistanceFunction<&[u8], &[u8], SimilarityScore<f32>> for FullL2

Source§

impl PureDistanceFunction<&[u8], &[u8], SimilarityScore<f32>> for InnerProduct

Source§

impl PureDistanceFunction<&[u8], &[u8], SimilarityScore<f32>> for SquaredL2

Source§

impl<const N: usize> PureDistanceFunction<&[u8; N], &[u8; N], SimilarityScore<f32>> for Cosine

Source§

fn evaluate(x: &[u8; N], y: &[u8; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[u8; N], &[u8; N], SimilarityScore<f32>> for FullL2

Source§

fn evaluate(x: &[u8; N], y: &[u8; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[u8; N], &[u8; N], SimilarityScore<f32>> for InnerProduct

Source§

fn evaluate(x: &[u8; N], y: &[u8; N]) -> SimilarityScore<f32>

Source§

impl<const N: usize> PureDistanceFunction<&[u8; N], &[u8; N], SimilarityScore<f32>> for SquaredL2

Source§

fn evaluate(x: &[u8; N], y: &[u8; N]) -> SimilarityScore<f32>

Source§

impl<T> Copy for SimilarityScore<T>
where T: Copy + Copy,

Source§

impl<T> StructuralPartialEq for SimilarityScore<T>
where T: Copy,

Auto Trait Implementations§

§

impl<T> Freeze for SimilarityScore<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for SimilarityScore<T>
where T: RefUnwindSafe,

§

impl<T> Send for SimilarityScore<T>
where T: Send,

§

impl<T> Sync for SimilarityScore<T>
where T: Sync,

§

impl<T> Unpin for SimilarityScore<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for SimilarityScore<T>
where T: UnsafeUnpin,

§

impl<T> UnwindSafe for SimilarityScore<T>
where T: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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.