Trait rin::math::scalar::SubsetOf[][src]

pub trait SubsetOf<T> {
    pub fn to_superset(&self) -> T;
pub fn from_superset_unchecked(element: &T) -> Self;
pub fn is_in_subset(element: &T) -> bool; pub fn from_superset(element: &T) -> Option<Self> { ... } }

Nested sets and conversions between them (using an injective mapping). Useful to work with substructures. In generic code, it is preferable to use SupersetOf as trait bound whenever possible instead of SubsetOf (because SupersetOf is automatically implemented whenever SubsetOf is).

The notion of “nested sets” is very broad and applies to what the types are supposed to represent, independently from their actual implementation details and limitations. For example:

In other words, implementation details due to machine limitations are ignored (otherwise we could not even, e.g., convert a u64 to an i64). If considering those limitations are important, other crates allowing you to query the limitations of given types should be used.

Required methods

pub fn to_superset(&self) -> T[src]

The inclusion map: converts self to the equivalent element of its superset.

pub fn from_superset_unchecked(element: &T) -> Self[src]

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

pub fn is_in_subset(element: &T) -> bool[src]

Checks if element is actually part of the subset Self (and can be converted to it).

Loading content...

Provided methods

pub fn from_superset(element: &T) -> Option<Self>[src]

The inverse inclusion map: attempts to construct self from the equivalent element of its superset.

Must return None if element has no equivalent in Self.

Loading content...

Implementations on Foreign Types

impl SubsetOf<i16> for i32[src]

impl<N2> SubsetOf<Complex<N2>> for i16 where
    N2: Zero + SupersetOf<i16>, 
[src]

impl SubsetOf<i8> for i8[src]

impl SubsetOf<u8> for u128[src]

impl<N2> SubsetOf<AutoSimd<N2>> for f64 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<f64>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<i64> for isize[src]

impl SubsetOf<f32> for u8[src]

impl SubsetOf<i64> for i32[src]

impl<N2> SubsetOf<Complex<N2>> for u128 where
    N2: Zero + SupersetOf<u128>, 
[src]

impl<N2> SubsetOf<Complex<N2>> for i128 where
    N2: Zero + SupersetOf<i128>, 
[src]

impl SubsetOf<i32> for isize[src]

impl SubsetOf<u128> for u64[src]

impl<N2> SubsetOf<AutoSimd<N2>> for i8 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i8>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<i16> for u8[src]

impl<N2> SubsetOf<AutoSimd<N2>> for f32 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<f32>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<i8> for usize[src]

impl SubsetOf<isize> for usize[src]

impl SubsetOf<i32> for i8[src]

impl SubsetOf<i128> for i128[src]

impl SubsetOf<u128> for u16[src]

impl<N2> SubsetOf<Complex<N2>> for u64 where
    N2: Zero + SupersetOf<u64>, 
[src]

impl SubsetOf<isize> for u64[src]

impl SubsetOf<f32> for isize[src]

impl SubsetOf<i128> for u64[src]

impl SubsetOf<isize> for isize[src]

impl<N2> SubsetOf<Complex<N2>> for f32 where
    N2: Zero + SupersetOf<f32>, 
[src]

impl SubsetOf<isize> for i64[src]

impl SubsetOf<i64> for u16[src]

impl SubsetOf<u32> for u128[src]

impl SubsetOf<f64> for f32[src]

impl SubsetOf<f64> for i64[src]

impl SubsetOf<i32> for usize[src]

impl SubsetOf<isize> for u8[src]

impl<N2> SubsetOf<Complex<N2>> for i32 where
    N2: Zero + SupersetOf<i32>, 
[src]

impl SubsetOf<i8> for u64[src]

impl SubsetOf<isize> for i16[src]

impl SubsetOf<i16> for usize[src]

impl SubsetOf<f32> for usize[src]

impl<N2> SubsetOf<AutoSimd<N2>> for i32 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i32>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<u128> for u32[src]

impl SubsetOf<u128> for u8[src]

impl<N2> SubsetOf<AutoSimd<N2>> for i16 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i16>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<i16> for u64[src]

impl SubsetOf<usize> for usize[src]

impl SubsetOf<i64> for i16[src]

impl SubsetOf<u16> for u64[src]

impl SubsetOf<f32> for i32[src]

impl SubsetOf<i128> for u32[src]

impl SubsetOf<f32> for f64[src]

impl SubsetOf<f64> for u8[src]

impl SubsetOf<usize> for u16[src]

impl SubsetOf<f64> for u128[src]

impl SubsetOf<i128> for usize[src]

impl SubsetOf<u64> for u128[src]

impl SubsetOf<i64> for u64[src]

impl SubsetOf<i128> for u8[src]

impl<N2> SubsetOf<AutoSimd<N2>> for u32 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u32>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<f32> for u128[src]

impl SubsetOf<i32> for i16[src]

impl SubsetOf<i16> for u16[src]

impl SubsetOf<i8> for i16[src]

impl SubsetOf<i32> for i128[src]

impl<N2> SubsetOf<Complex<N2>> for usize where
    N2: Zero + SupersetOf<usize>, 
[src]

impl SubsetOf<u8> for u8[src]

impl SubsetOf<f32> for i8[src]

impl SubsetOf<i64> for u32[src]

impl SubsetOf<i16> for u32[src]

impl<N2> SubsetOf<AutoSimd<N2>> for u16 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u16>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<i16> for i8[src]

impl<N2> SubsetOf<AutoSimd<N2>> for i64 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i64>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<i16> for i64[src]

impl SubsetOf<i8> for u8[src]

impl<N2> SubsetOf<Complex<N2>> for f64 where
    N2: Zero + SupersetOf<f64>, 
[src]

impl SubsetOf<i64> for u8[src]

impl SubsetOf<i32> for i64[src]

impl<N2> SubsetOf<Complex<N2>> for u16 where
    N2: Zero + SupersetOf<u16>, 
[src]

impl SubsetOf<i32> for u32[src]

impl SubsetOf<usize> for u128[src]

impl SubsetOf<f32> for i64[src]

impl SubsetOf<i64> for i64[src]

impl SubsetOf<isize> for u128[src]

impl SubsetOf<isize> for i32[src]

impl SubsetOf<i8> for u32[src]

impl SubsetOf<u128> for u128[src]

impl SubsetOf<f32> for i128[src]

impl SubsetOf<u32> for u32[src]

impl SubsetOf<i32> for u128[src]

impl SubsetOf<i32> for u8[src]

impl SubsetOf<i128> for i32[src]

impl SubsetOf<u64> for u8[src]

impl SubsetOf<usize> for u32[src]

impl SubsetOf<usize> for u64[src]

impl SubsetOf<f32> for i16[src]

impl SubsetOf<i8> for i128[src]

impl SubsetOf<u16> for u128[src]

impl<N2> SubsetOf<AutoSimd<N2>> for u64 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u64>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<isize> for i128[src]

impl SubsetOf<u64> for u16[src]

impl SubsetOf<f32> for u16[src]

impl SubsetOf<i64> for u128[src]

impl SubsetOf<u32> for u8[src]

impl SubsetOf<i64> for i8[src]

impl SubsetOf<u64> for u64[src]

impl SubsetOf<f64> for i128[src]

impl SubsetOf<f64> for i32[src]

impl SubsetOf<f64> for i16[src]

impl SubsetOf<i32> for u64[src]

impl SubsetOf<i8> for u16[src]

impl SubsetOf<u64> for usize[src]

impl SubsetOf<f64> for u16[src]

impl SubsetOf<isize> for u16[src]

impl SubsetOf<usize> for u8[src]

impl SubsetOf<isize> for i8[src]

impl SubsetOf<i128> for i64[src]

impl SubsetOf<f64> for u32[src]

impl SubsetOf<i128> for i8[src]

impl SubsetOf<i32> for u16[src]

impl SubsetOf<i16> for u128[src]

impl SubsetOf<i128> for u16[src]

impl SubsetOf<i128> for u128[src]

impl SubsetOf<i128> for i16[src]

impl SubsetOf<i8> for i64[src]

impl<N2> SubsetOf<Complex<N2>> for i8 where
    N2: Zero + SupersetOf<i8>, 
[src]

impl SubsetOf<i16> for i128[src]

impl SubsetOf<u8> for usize[src]

impl SubsetOf<f64> for f64[src]

impl SubsetOf<isize> for u32[src]

impl<N2> SubsetOf<AutoSimd<N2>> for isize where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<isize>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<u8> for u32[src]

impl SubsetOf<i16> for i16[src]

impl SubsetOf<u64> for u32[src]

impl SubsetOf<f32> for u32[src]

impl SubsetOf<i32> for i32[src]

impl SubsetOf<i16> for isize[src]

impl SubsetOf<f64> for usize[src]

impl SubsetOf<u32> for u64[src]

impl SubsetOf<u8> for u64[src]

impl SubsetOf<i8> for u128[src]

impl SubsetOf<i64> for usize[src]

impl SubsetOf<u8> for u16[src]

impl SubsetOf<i64> for i128[src]

impl SubsetOf<f64> for isize[src]

impl SubsetOf<u16> for usize[src]

impl SubsetOf<u16> for u8[src]

impl SubsetOf<f64> for i8[src]

impl SubsetOf<i128> for isize[src]

impl SubsetOf<f32> for f32[src]

impl<N2> SubsetOf<AutoSimd<N2>> for u8 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u8>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl<N2> SubsetOf<Complex<N2>> for i64 where
    N2: Zero + SupersetOf<i64>, 
[src]

impl<N2> SubsetOf<Complex<N2>> for u32 where
    N2: Zero + SupersetOf<u32>, 
[src]

impl<N2> SubsetOf<Complex<N2>> for u8 where
    N2: Zero + SupersetOf<u8>, 
[src]

impl<N2> SubsetOf<Complex<N2>> for isize where
    N2: Zero + SupersetOf<isize>, 
[src]

impl SubsetOf<i8> for i32[src]

impl SubsetOf<u32> for usize[src]

impl<N2> SubsetOf<AutoSimd<N2>> for usize where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<usize>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 
[src]

impl SubsetOf<i8> for isize[src]

impl SubsetOf<f64> for u64[src]

impl SubsetOf<u16> for u32[src]

impl SubsetOf<f32> for u64[src]

impl SubsetOf<u16> for u16[src]

impl SubsetOf<u128> for usize[src]

impl SubsetOf<u32> for u16[src]

Loading content...

Implementors

impl SubsetOf<AutoSimd<[f32; 2]>> for AutoSimd<[f32; 2]>[src]

impl SubsetOf<AutoSimd<[f32; 4]>> for AutoSimd<[f32; 4]>[src]

impl SubsetOf<AutoSimd<[f32; 8]>> for AutoSimd<[f32; 8]>[src]

impl SubsetOf<AutoSimd<[f32; 16]>> for AutoSimd<[f32; 16]>[src]

impl SubsetOf<AutoSimd<[f64; 2]>> for AutoSimd<[f64; 2]>[src]

impl SubsetOf<AutoSimd<[f64; 4]>> for AutoSimd<[f64; 4]>[src]

impl SubsetOf<AutoSimd<[f64; 8]>> for AutoSimd<[f64; 8]>[src]

impl SubsetOf<AutoSimd<[i8; 2]>> for AutoSimd<[i8; 2]>[src]

impl SubsetOf<AutoSimd<[i8; 4]>> for AutoSimd<[i8; 4]>[src]

impl SubsetOf<AutoSimd<[i8; 8]>> for AutoSimd<[i8; 8]>[src]

impl SubsetOf<AutoSimd<[i8; 16]>> for AutoSimd<[i8; 16]>[src]

impl SubsetOf<AutoSimd<[i8; 32]>> for AutoSimd<[i8; 32]>[src]

impl SubsetOf<AutoSimd<[i16; 2]>> for AutoSimd<[i16; 2]>[src]

impl SubsetOf<AutoSimd<[i16; 4]>> for AutoSimd<[i16; 4]>[src]

impl SubsetOf<AutoSimd<[i16; 8]>> for AutoSimd<[i16; 8]>[src]

impl SubsetOf<AutoSimd<[i16; 16]>> for AutoSimd<[i16; 16]>[src]

impl SubsetOf<AutoSimd<[i16; 32]>> for AutoSimd<[i16; 32]>[src]

impl SubsetOf<AutoSimd<[i32; 2]>> for AutoSimd<[i32; 2]>[src]

impl SubsetOf<AutoSimd<[i32; 4]>> for AutoSimd<[i32; 4]>[src]

impl SubsetOf<AutoSimd<[i32; 8]>> for AutoSimd<[i32; 8]>[src]

impl SubsetOf<AutoSimd<[i32; 16]>> for AutoSimd<[i32; 16]>[src]

impl SubsetOf<AutoSimd<[i64; 2]>> for AutoSimd<[i64; 2]>[src]

impl SubsetOf<AutoSimd<[i64; 4]>> for AutoSimd<[i64; 4]>[src]

impl SubsetOf<AutoSimd<[i64; 8]>> for AutoSimd<[i64; 8]>[src]

impl SubsetOf<AutoSimd<[i128; 1]>> for AutoSimd<[i128; 1]>[src]

impl SubsetOf<AutoSimd<[i128; 2]>> for AutoSimd<[i128; 2]>[src]

impl SubsetOf<AutoSimd<[i128; 4]>> for AutoSimd<[i128; 4]>[src]

impl SubsetOf<AutoSimd<[isize; 2]>> for AutoSimd<[isize; 2]>[src]

impl SubsetOf<AutoSimd<[isize; 4]>> for AutoSimd<[isize; 4]>[src]

impl SubsetOf<AutoSimd<[isize; 8]>> for AutoSimd<[isize; 8]>[src]

impl SubsetOf<AutoSimd<[u8; 2]>> for AutoSimd<[u8; 2]>[src]

impl SubsetOf<AutoSimd<[u8; 4]>> for AutoSimd<[u8; 4]>[src]

impl SubsetOf<AutoSimd<[u8; 8]>> for AutoSimd<[u8; 8]>[src]

impl SubsetOf<AutoSimd<[u8; 16]>> for AutoSimd<[u8; 16]>[src]

impl SubsetOf<AutoSimd<[u8; 32]>> for AutoSimd<[u8; 32]>[src]

impl SubsetOf<AutoSimd<[u16; 2]>> for AutoSimd<[u16; 2]>[src]

impl SubsetOf<AutoSimd<[u16; 4]>> for AutoSimd<[u16; 4]>[src]

impl SubsetOf<AutoSimd<[u16; 8]>> for AutoSimd<[u16; 8]>[src]

impl SubsetOf<AutoSimd<[u16; 16]>> for AutoSimd<[u16; 16]>[src]

impl SubsetOf<AutoSimd<[u16; 32]>> for AutoSimd<[u16; 32]>[src]

impl SubsetOf<AutoSimd<[u32; 2]>> for AutoSimd<[u32; 2]>[src]

impl SubsetOf<AutoSimd<[u32; 4]>> for AutoSimd<[u32; 4]>[src]

impl SubsetOf<AutoSimd<[u32; 8]>> for AutoSimd<[u32; 8]>[src]

impl SubsetOf<AutoSimd<[u32; 16]>> for AutoSimd<[u32; 16]>[src]

impl SubsetOf<AutoSimd<[u64; 2]>> for AutoSimd<[u64; 2]>[src]

impl SubsetOf<AutoSimd<[u64; 4]>> for AutoSimd<[u64; 4]>[src]

impl SubsetOf<AutoSimd<[u64; 8]>> for AutoSimd<[u64; 8]>[src]

impl SubsetOf<AutoSimd<[u128; 1]>> for AutoSimd<[u128; 1]>[src]

impl SubsetOf<AutoSimd<[u128; 2]>> for AutoSimd<[u128; 2]>[src]

impl SubsetOf<AutoSimd<[u128; 4]>> for AutoSimd<[u128; 4]>[src]

impl SubsetOf<AutoSimd<[usize; 2]>> for AutoSimd<[usize; 2]>[src]

impl SubsetOf<AutoSimd<[usize; 4]>> for AutoSimd<[usize; 4]>[src]

impl SubsetOf<AutoSimd<[usize; 8]>> for AutoSimd<[usize; 8]>[src]

impl<N1, N2> SubsetOf<Complex<N2>> for Complex<N1> where
    N2: SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Matrix<N2, U3, U3, <DefaultAllocator as Allocator<N2, U3, U3>>::Buffer>> for Unit<Complex<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Matrix<N2, U4, U4, <DefaultAllocator as Allocator<N2, U4, U4>>::Buffer>> for Unit<Quaternion<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Quaternion<N2>> for Quaternion<N1> where
    N1: SimdRealField,
    N2: SimdRealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Rect<N2>> for Rect<N1> where
    N1: BaseNum,
    N2: BaseNum + SupersetOf<N1>,
    Point<N2, U2>: SupersetOf<Point<N1, U2>>, 
[src]

impl<N1, N2> SubsetOf<Rotation<N2, U2>> for Unit<Complex<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Rotation<N2, U3>> for Unit<Quaternion<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Complex<N2>>> for Rotation<N1, U2> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Complex<N2>>> for Unit<Complex<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Quaternion<N2>>> for Rotation<N1, U3> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Quaternion<N2>>> for Unit<Quaternion<N1>> where
    N1: SimdRealField,
    N2: SimdRealField + SupersetOf<N1>, 
[src]

impl<N1, N2, C> SubsetOf<Transform<N2, U2, C>> for Unit<Complex<N1>> where
    C: SuperTCategoryOf<TAffine>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, C> SubsetOf<Transform<N2, U3, C>> for Unit<Quaternion<N1>> where
    C: SuperTCategoryOf<TAffine>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Rotation<N1, D> where
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>, 
[src]

impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Translation<N1, D> where
    D: DimNameAdd<U1>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>, 
[src]

impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, U1, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, U1>>::Buffer>> for Point<N1, D> where
    D: DimNameAdd<U1>,
    N1: Scalar,
    N2: Scalar + Zero + One + ClosedDiv<N2> + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, U1>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D> SubsetOf<Point<N2, D>> for Point<N1, D> where
    D: DimName,
    N1: Scalar,
    N2: Scalar + SupersetOf<N1>,
    DefaultAllocator: Allocator<N2, D, U1>,
    DefaultAllocator: Allocator<N1, D, U1>, 
[src]

impl<N1, N2, D> SubsetOf<Rotation<N2, D>> for Rotation<N1, D> where
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, D>, 
[src]

impl<N1, N2, D> SubsetOf<Translation<N2, D>> for Translation<N1, D> where
    D: DimName,
    N1: Scalar,
    N2: Scalar + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, C1, C2> SubsetOf<Transform<N2, D, C2>> for Transform<N1, D, C1> where
    D: DimName + DimNameAdd<U1>,
    N1: RealField + SubsetOf<N2>,
    N2: RealField,
    C2: SuperTCategoryOf<C1>,
    C1: TCategory,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    <N1 as AbsDiffEq<N1>>::Epsilon: Copy,
    <N2 as AbsDiffEq<N2>>::Epsilon: Copy
[src]

impl<N1, N2, D, C> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Transform<N1, D, C> where
    C: TCategory,
    D: DimName + DimNameAdd<U1>,
    N1: RealField + SubsetOf<N2>,
    N2: RealField,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    <N1 as AbsDiffEq<N1>>::Epsilon: Copy,
    <N2 as AbsDiffEq<N2>>::Epsilon: Copy
[src]

impl<N1, N2, D, C> SubsetOf<Transform<N2, D, C>> for Rotation<N1, D> where
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>, 
[src]

impl<N1, N2, D, C> SubsetOf<Transform<N2, D, C>> for Translation<N1, D> where
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>, 
[src]

impl<N1, N2, D, R1, R2> SubsetOf<Isometry<N2, D, R2>> for Isometry<N1, D, R1> where
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    R2: AbstractRotation<N2, D>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Isometry<N1, D, R1> where
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    R2: AbstractRotation<N2, D>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Similarity<N1, D, R1> where
    D: DimName,
    N1: RealField + SubsetOf<N2>,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    R2: AbstractRotation<N2, D>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Isometry<N2, D, R>> for Rotation<N1, D> where
    D: DimName,
    R: AbstractRotation<N2, D> + SupersetOf<Rotation<N1, D>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Isometry<N2, D, R>> for Translation<N1, D> where
    D: DimName,
    R: AbstractRotation<N2, D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Isometry<N1, D, R> where
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Similarity<N1, D, R> where
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Similarity<N2, D, R>> for Rotation<N1, D> where
    D: DimName,
    R: AbstractRotation<N2, D> + SupersetOf<Rotation<N1, D>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Similarity<N2, D, R>> for Translation<N1, D> where
    D: DimName,
    R: AbstractRotation<N2, D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Isometry<N1, D, R> where
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Similarity<N1, D, R> where
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, R1, C1, R2, C2> SubsetOf<Matrix<N2, R2, C2, <DefaultAllocator as Allocator<N2, R2, C2>>::Buffer>> for Matrix<N1, R1, C1, <DefaultAllocator as Allocator<N1, R1, C1>>::Buffer> where
    N1: Scalar,
    N2: Scalar + SupersetOf<N1>,
    C2: Dim,
    C1: Dim,
    R1: Dim,
    R2: Dim,
    DefaultAllocator: Allocator<N2, R2, C2>,
    DefaultAllocator: Allocator<N1, R1, C1>,
    DefaultAllocator: SameShapeAllocator<N1, R1, C1, R2, C2>,
    ShapeConstraint: SameNumberOfRows<R1, R2>,
    ShapeConstraint: SameNumberOfColumns<C1, C2>, 
[src]

impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for Unit<Complex<N1>> where
    R: AbstractRotation<N2, U2> + SupersetOf<Unit<Complex<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, R> SubsetOf<Isometry<N2, U3, R>> for Unit<Quaternion<N1>> where
    R: AbstractRotation<N2, U3> + SupersetOf<Unit<Quaternion<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, R> SubsetOf<Similarity<N2, U2, R>> for Unit<Complex<N1>> where
    R: AbstractRotation<N2, U2> + SupersetOf<Unit<Complex<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, R> SubsetOf<Similarity<N2, U3, R>> for Unit<Quaternion<N1>> where
    R: AbstractRotation<N2, U3> + SupersetOf<Unit<Quaternion<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

Loading content...