[−][src]Struct acap::euclid::EuclideanDistance
This type stores the squared value of the Euclidean distance, to avoid computing expensive square roots until absolutely necessary.
let a = EuclideanDistance::try_from(3).unwrap(); let b = EuclideanDistance::try_from(4).unwrap(); let c = EuclideanDistance::from_squared(a.squared_value() + b.squared_value()); assert!(a < c && b < c); assert_eq!(c.value(), 5.0f32);
Implementations
impl<T: Value> EuclideanDistance<T>
[src]
pub fn from_squared(value: T) -> Self
[src]
Createa a EuclideanDistance
from an already-squared value.
pub fn squared_value(self) -> T
[src]
Get the squared distance value.
Trait Implementations
impl<T: Clone> Clone for EuclideanDistance<T>
[src]
fn clone(&self) -> EuclideanDistance<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Copy> Copy for EuclideanDistance<T>
[src]
impl<T: Debug> Debug for EuclideanDistance<T>
[src]
impl Distance for EuclideanDistance<f32>
[src]
impl Distance for EuclideanDistance<f64>
[src]
impl Distance for EuclideanDistance<i16>
[src]
impl Distance for EuclideanDistance<i32>
[src]
impl Distance for EuclideanDistance<i64>
[src]
impl Distance for EuclideanDistance<isize>
[src]
impl From<EuclideanDistance<f32>> for f32
[src]
fn from(value: EuclideanDistance<f32>) -> f32
[src]
impl From<EuclideanDistance<f64>> for f64
[src]
fn from(value: EuclideanDistance<f64>) -> f64
[src]
impl From<EuclideanDistance<i16>> for f32
[src]
fn from(value: EuclideanDistance<i16>) -> Self
[src]
impl From<EuclideanDistance<i32>> for f32
[src]
fn from(value: EuclideanDistance<i32>) -> Self
[src]
impl From<EuclideanDistance<i64>> for f64
[src]
fn from(value: EuclideanDistance<i64>) -> Self
[src]
impl From<EuclideanDistance<isize>> for f64
[src]
fn from(value: EuclideanDistance<isize>) -> Self
[src]
impl<T: PartialEq> PartialEq<EuclideanDistance<T>> for EuclideanDistance<T>
[src]
fn eq(&self, other: &EuclideanDistance<T>) -> bool
[src]
fn ne(&self, other: &EuclideanDistance<T>) -> bool
[src]
impl PartialEq<EuclideanDistance<f32>> for f32
[src]
fn eq(&self, other: &EuclideanDistance<f32>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<f64>> for f64
[src]
fn eq(&self, other: &EuclideanDistance<f64>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<i16>> for i16
[src]
fn eq(&self, other: &EuclideanDistance<i16>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<i16>> for f32
[src]
fn eq(&self, other: &EuclideanDistance<i16>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<i32>> for i32
[src]
fn eq(&self, other: &EuclideanDistance<i32>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<i32>> for f32
[src]
fn eq(&self, other: &EuclideanDistance<i32>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<i64>> for i64
[src]
fn eq(&self, other: &EuclideanDistance<i64>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<i64>> for f64
[src]
fn eq(&self, other: &EuclideanDistance<i64>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<isize>> for isize
[src]
fn eq(&self, other: &EuclideanDistance<isize>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<EuclideanDistance<isize>> for f64
[src]
fn eq(&self, other: &EuclideanDistance<isize>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<f32> for EuclideanDistance<f32>
[src]
impl PartialEq<f32> for EuclideanDistance<i16>
[src]
impl PartialEq<f32> for EuclideanDistance<i32>
[src]
impl PartialEq<f64> for EuclideanDistance<f64>
[src]
impl PartialEq<f64> for EuclideanDistance<i64>
[src]
impl PartialEq<f64> for EuclideanDistance<isize>
[src]
impl PartialEq<i16> for EuclideanDistance<i16>
[src]
impl PartialEq<i32> for EuclideanDistance<i32>
[src]
impl PartialEq<i64> for EuclideanDistance<i64>
[src]
impl PartialEq<isize> for EuclideanDistance<isize>
[src]
impl<T: PartialOrd> PartialOrd<EuclideanDistance<T>> for EuclideanDistance<T>
[src]
fn partial_cmp(&self, other: &EuclideanDistance<T>) -> Option<Ordering>
[src]
fn lt(&self, other: &EuclideanDistance<T>) -> bool
[src]
fn le(&self, other: &EuclideanDistance<T>) -> bool
[src]
fn gt(&self, other: &EuclideanDistance<T>) -> bool
[src]
fn ge(&self, other: &EuclideanDistance<T>) -> bool
[src]
impl PartialOrd<EuclideanDistance<f32>> for f32
[src]
fn partial_cmp(&self, other: &EuclideanDistance<f32>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<f64>> for f64
[src]
fn partial_cmp(&self, other: &EuclideanDistance<f64>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<i16>> for i16
[src]
fn partial_cmp(&self, other: &EuclideanDistance<i16>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<i16>> for f32
[src]
fn partial_cmp(&self, other: &EuclideanDistance<i16>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<i32>> for i32
[src]
fn partial_cmp(&self, other: &EuclideanDistance<i32>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<i32>> for f32
[src]
fn partial_cmp(&self, other: &EuclideanDistance<i32>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<i64>> for i64
[src]
fn partial_cmp(&self, other: &EuclideanDistance<i64>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<i64>> for f64
[src]
fn partial_cmp(&self, other: &EuclideanDistance<i64>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<isize>> for isize
[src]
fn partial_cmp(&self, other: &EuclideanDistance<isize>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<EuclideanDistance<isize>> for f64
[src]
fn partial_cmp(&self, other: &EuclideanDistance<isize>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<f32> for EuclideanDistance<f32>
[src]
fn partial_cmp(&self, other: &f32) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<f32> for EuclideanDistance<i16>
[src]
fn partial_cmp(&self, other: &f32) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<f32> for EuclideanDistance<i32>
[src]
fn partial_cmp(&self, other: &f32) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<f64> for EuclideanDistance<f64>
[src]
fn partial_cmp(&self, other: &f64) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<f64> for EuclideanDistance<i64>
[src]
fn partial_cmp(&self, other: &f64) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<f64> for EuclideanDistance<isize>
[src]
fn partial_cmp(&self, other: &f64) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<i16> for EuclideanDistance<i16>
[src]
fn partial_cmp(&self, other: &i16) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<i32> for EuclideanDistance<i32>
[src]
fn partial_cmp(&self, other: &i32) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<i64> for EuclideanDistance<i64>
[src]
fn partial_cmp(&self, other: &i64) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<isize> for EuclideanDistance<isize>
[src]
fn partial_cmp(&self, other: &isize) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<T> StructuralPartialEq for EuclideanDistance<T>
[src]
impl TryFrom<f32> for EuclideanDistance<f32>
[src]
type Error = NegativeDistanceError
The type returned in the event of a conversion error.
fn try_from(value: f32) -> Result<Self, Self::Error>
[src]
impl TryFrom<f64> for EuclideanDistance<f64>
[src]
type Error = NegativeDistanceError
The type returned in the event of a conversion error.
fn try_from(value: f64) -> Result<Self, Self::Error>
[src]
impl TryFrom<i16> for EuclideanDistance<i16>
[src]
type Error = NegativeDistanceError
The type returned in the event of a conversion error.
fn try_from(value: i16) -> Result<Self, Self::Error>
[src]
impl TryFrom<i32> for EuclideanDistance<i32>
[src]
type Error = NegativeDistanceError
The type returned in the event of a conversion error.
fn try_from(value: i32) -> Result<Self, Self::Error>
[src]
impl TryFrom<i64> for EuclideanDistance<i64>
[src]
type Error = NegativeDistanceError
The type returned in the event of a conversion error.
fn try_from(value: i64) -> Result<Self, Self::Error>
[src]
impl TryFrom<isize> for EuclideanDistance<isize>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for EuclideanDistance<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for EuclideanDistance<T> where
T: Send,
T: Send,
impl<T> Sync for EuclideanDistance<T> where
T: Sync,
T: Sync,
impl<T> Unpin for EuclideanDistance<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for EuclideanDistance<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Distance for T where
T: Value,
[src]
T: Value,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,