pub struct LorentzVector {
pub x0: f32,
pub x1: f32,
pub x2: f32,
pub x3: f32,
}Expand description
A point projected into the Lorentz Hyperboloid (Minkowski space). The NQuin is unpacked into a standard Euclidean embedding and then projected.
Fields§
§x0: f32§x1: f32§x2: f32§x3: f32Implementations§
Source§impl LorentzVector
impl LorentzVector
Sourcepub fn from_quin(quin: &NQuin) -> Self
pub fn from_quin(quin: &NQuin) -> Self
Maps a 48-byte NQuin into a 4D Lorentz vector for exact non-Euclidean representation.
Sourcepub fn lorentz_distance(&self, other: &LorentzVector) -> f32
pub fn lorentz_distance(&self, other: &LorentzVector) -> f32
Computes the Minkowski inner product (Lorentz distance). Bypasses all trigonometric constraints, mapping perfectly to FMA instructions.
Trait Implementations§
Source§impl Clone for LorentzVector
impl Clone for LorentzVector
Source§fn clone(&self) -> LorentzVector
fn clone(&self) -> LorentzVector
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LorentzVector
impl Debug for LorentzVector
impl Copy for LorentzVector
Auto Trait Implementations§
impl Freeze for LorentzVector
impl RefUnwindSafe for LorentzVector
impl Send for LorentzVector
impl Sync for LorentzVector
impl Unpin for LorentzVector
impl UnsafeUnpin for LorentzVector
impl UnwindSafe for LorentzVector
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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