pub struct Bivector<const P: usize, const Q: usize, const R: usize> {
pub mv: Multivector<P, Q, R>,
}Expand description
Bivector type - wrapper around Multivector with only grade 2
Fields§
§mv: Multivector<P, Q, R>Implementations§
Source§impl<const P: usize, const Q: usize, const R: usize> Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Bivector<P, Q, R>
pub fn from_components(xy: f64, xz: f64, yz: f64) -> Self
pub fn e12() -> Self
pub fn e13() -> Self
pub fn e23() -> Self
pub fn from_multivector(mv: &Multivector<P, Q, R>) -> Self
pub fn geometric_product(&self, other: &Vector<P, Q, R>) -> Multivector<P, Q, R>
Sourcepub fn geometric_product_with_bivector(
&self,
other: &Self,
) -> Multivector<P, Q, R>
pub fn geometric_product_with_bivector( &self, other: &Self, ) -> Multivector<P, Q, R>
Geometric product with another bivector
pub fn magnitude(&self) -> f64
Sourcepub fn inner_product(&self, other: &Self) -> Multivector<P, Q, R>
pub fn inner_product(&self, other: &Self) -> Multivector<P, Q, R>
Inner product with another bivector
Sourcepub fn inner_product_with_vector(
&self,
other: &Vector<P, Q, R>,
) -> Multivector<P, Q, R>
pub fn inner_product_with_vector( &self, other: &Vector<P, Q, R>, ) -> Multivector<P, Q, R>
Inner product with a vector
Sourcepub fn outer_product(&self, other: &Self) -> Multivector<P, Q, R>
pub fn outer_product(&self, other: &Self) -> Multivector<P, Q, R>
Outer product with another bivector
Sourcepub fn outer_product_with_vector(
&self,
other: &Vector<P, Q, R>,
) -> Multivector<P, Q, R>
pub fn outer_product_with_vector( &self, other: &Vector<P, Q, R>, ) -> Multivector<P, Q, R>
Outer product with a vector
Sourcepub fn right_contraction(&self, other: &Vector<P, Q, R>) -> Multivector<P, Q, R>
pub fn right_contraction(&self, other: &Vector<P, Q, R>) -> Multivector<P, Q, R>
Right contraction with vector
Trait Implementations§
impl<const P: usize, const Q: usize, const R: usize> StructuralPartialEq for Bivector<P, Q, R>
Auto Trait Implementations§
impl<const P: usize, const Q: usize, const R: usize> Freeze for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> RefUnwindSafe for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Send for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Sync for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> Unpin for Bivector<P, Q, R>
impl<const P: usize, const Q: usize, const R: usize> UnwindSafe for Bivector<P, Q, R>
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.