#[repr(C)]pub struct Mat2<F> {
pub x: Vec2<F>,
pub y: Vec2<F>,
}
Expand description
A 2x2 matrix.
This matrix is internally stored column-major (as that is better for GPU compatibility and possibly other reasons), but the API (e.g. the order of function parameters to the new() function) is row-major, since that is how people write matrices on paper.
Fields§
§x: Vec2<F>
§y: Vec2<F>
Implementations§
Trait Implementations§
Source§impl<F: FullFloat> ApproxEq for Mat2<F>
impl<F: FullFloat> ApproxEq for Mat2<F>
type Flt = F
Source§fn approx_eq(
&self,
other: &Self,
epsilon: <F as ApproxEq>::Flt,
ulps: <<F as ApproxEq>::Flt as Ulps>::U,
) -> bool
fn approx_eq( &self, other: &Self, epsilon: <F as ApproxEq>::Flt, ulps: <<F as ApproxEq>::Flt as Ulps>::U, ) -> bool
This method tests for
self
and other
values to be approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§fn approx_ne(
&self,
other: &Self,
epsilon: Self::Flt,
ulps: <Self::Flt as Ulps>::U,
) -> bool
fn approx_ne( &self, other: &Self, epsilon: Self::Flt, ulps: <Self::Flt as Ulps>::U, ) -> bool
This method tests for
self
and other
values to be not approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§impl<'de, F> Deserialize<'de> for Mat2<F>where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for Mat2<F>where
F: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<F: Copy> Copy for Mat2<F>
impl<F: Eq> Eq for Mat2<F>
impl<F> StructuralPartialEq for Mat2<F>
Auto Trait Implementations§
impl<F> Freeze for Mat2<F>where
F: Freeze,
impl<F> RefUnwindSafe for Mat2<F>where
F: RefUnwindSafe,
impl<F> Send for Mat2<F>where
F: Send,
impl<F> Sync for Mat2<F>where
F: Sync,
impl<F> Unpin for Mat2<F>where
F: Unpin,
impl<F> UnwindSafe for Mat2<F>where
F: UnwindSafe,
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