Trait na::scalar::SubsetOf

source ·
pub trait SubsetOf<T>: Sized {
    // Required methods
    fn to_superset(&self) -> T;
    fn from_superset_unchecked(element: &T) -> Self;
    fn is_in_subset(element: &T) -> bool;

    // Provided method
    fn from_superset(element: &T) -> Option<Self> { ... }
}
Expand description

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:

  • f32 and f64 are both supposed to represent reals and are thus considered equal (even if in practice f64 has more elements).
  • u32 and i8 are respectively supposed to represent natural and relative numbers. Thus, u32 is a subset of i8.
  • A quaternion and a 3x3 orthogonal matrix with unit determinant are both sets of rotations. They can thus be considered equal.

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§

source

fn to_superset(&self) -> T

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

source

fn from_superset_unchecked(element: &T) -> Self

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

source

fn is_in_subset(element: &T) -> bool

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

Provided Methods§

source

fn from_superset(element: &T) -> Option<Self>

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.

Implementations on Foreign Types§

source§

impl<N2> SubsetOf<Complex<N2>> for i128where N2: Zero + SupersetOf<i128>,

source§

impl SubsetOf<f32> for f64

source§

impl SubsetOf<WideF32x8> for i32

source§

impl SubsetOf<f32> for u16

source§

impl SubsetOf<WideF32x4> for i8

source§

impl SubsetOf<i16> for u32

source§

impl SubsetOf<i8> for isize

source§

impl SubsetOf<WideF32x8> for u64

source§

impl SubsetOf<WideF64x4> for f64

source§

impl SubsetOf<i128> for u32

source§

impl SubsetOf<WideF64x4> for i64

source§

impl SubsetOf<isize> for u32

source§

impl SubsetOf<f32> for u128

source§

impl SubsetOf<i128> for i16

source§

impl SubsetOf<i32> for usize

source§

impl SubsetOf<WideF64x4> for i8

source§

impl SubsetOf<f64> for u64

source§

impl<N2> SubsetOf<Complex<N2>> for u64where N2: Zero + SupersetOf<u64>,

source§

impl SubsetOf<usize> for u16

source§

impl SubsetOf<i32> for u128

source§

impl SubsetOf<isize> for isize

source§

impl SubsetOf<i32> for u32

source§

impl SubsetOf<WideF32x8> for u16

source§

impl SubsetOf<i64> for u16

source§

impl SubsetOf<isize> for i16

source§

impl SubsetOf<usize> for u64

source§

impl<N2> SubsetOf<Complex<N2>> for f32where N2: Zero + SupersetOf<f32>,

source§

impl SubsetOf<i32> for i64

source§

impl SubsetOf<u16> for u16

source§

impl SubsetOf<isize> for u64

source§

impl SubsetOf<i16> for u8

source§

impl SubsetOf<isize> for i8

source§

impl SubsetOf<i64> for u64

source§

impl SubsetOf<f64> for i8

source§

impl SubsetOf<u8> for u8

source§

impl SubsetOf<i16> for usize

source§

impl<N2> SubsetOf<AutoSimd<N2>> for i64where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i64> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<f32> for u32

source§

impl SubsetOf<f32> for i8

source§

impl SubsetOf<u128> for u128

source§

impl SubsetOf<i64> for usize

source§

impl SubsetOf<WideF32x8> for u32

source§

impl SubsetOf<u32> for u16

source§

impl SubsetOf<WideF64x4> for u8

source§

impl SubsetOf<WideF32x8> for i8

source§

impl SubsetOf<f32> for u8

source§

impl SubsetOf<i128> for u64

source§

impl SubsetOf<i128> for i128

source§

impl SubsetOf<u8> for usize

source§

impl SubsetOf<isize> for u16

source§

impl<N2> SubsetOf<AutoSimd<N2>> for u64where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u64> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<u32> for u64

source§

impl SubsetOf<WideF64x4> for usize

source§

impl<N2> SubsetOf<AutoSimd<N2>> for u32where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u32> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<i8> for u128

source§

impl SubsetOf<f32> for isize

source§

impl SubsetOf<u16> for u32

source§

impl SubsetOf<WideF64x4> for u16

source§

impl SubsetOf<WideF32x4> for f64

source§

impl SubsetOf<WideF32x8> for isize

source§

impl SubsetOf<i64> for i128

source§

impl SubsetOf<i128> for u128

source§

impl SubsetOf<i128> for u16

source§

impl SubsetOf<u8> for u32

source§

impl SubsetOf<f64> for f32

source§

impl SubsetOf<i64> for i8

source§

impl SubsetOf<usize> for usize

source§

impl SubsetOf<u64> for u32

source§

impl SubsetOf<u128> for usize

source§

impl SubsetOf<f64> for u16

source§

impl<N2> SubsetOf<AutoSimd<N2>> for u8where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u8> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl<N2> SubsetOf<Complex<N2>> for i32where N2: Zero + SupersetOf<i32>,

source§

impl SubsetOf<f64> for u128

source§

impl SubsetOf<u64> for u8

source§

impl SubsetOf<WideF32x4> for isize

source§

impl SubsetOf<WideF32x8> for f32

source§

impl SubsetOf<u32> for u128

source§

impl SubsetOf<u64> for u128

source§

impl SubsetOf<f32> for i128

source§

impl SubsetOf<i128> for i64

source§

impl SubsetOf<usize> for u128

source§

impl SubsetOf<i8> for i64

source§

impl<N2> SubsetOf<AutoSimd<N2>> for i8where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i8> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<i16> for i128

source§

impl SubsetOf<WideF32x4> for i16

source§

impl SubsetOf<f64> for u8

source§

impl SubsetOf<i128> for i8

source§

impl<N2> SubsetOf<Complex<N2>> for u16where N2: Zero + SupersetOf<u16>,

source§

impl SubsetOf<f32> for i32

source§

impl SubsetOf<f64> for isize

source§

impl<N2> SubsetOf<AutoSimd<N2>> for i16where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i16> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<WideF32x4> for f32

source§

impl SubsetOf<i8> for u32

source§

impl SubsetOf<u8> for u16

source§

impl SubsetOf<WideF32x4> for u32

source§

impl SubsetOf<i8> for i128

source§

impl SubsetOf<i8> for u8

source§

impl<N2> SubsetOf<Complex<N2>> for u8where N2: Zero + SupersetOf<u8>,

source§

impl SubsetOf<isize> for i128

source§

impl SubsetOf<i64> for u32

source§

impl<N2> SubsetOf<Complex<N2>> for isizewhere N2: Zero + SupersetOf<isize>,

source§

impl SubsetOf<f32> for i64

source§

impl<N2> SubsetOf<Complex<N2>> for i64where N2: Zero + SupersetOf<i64>,

source§

impl<N2> SubsetOf<Complex<N2>> for u32where N2: Zero + SupersetOf<u32>,

source§

impl SubsetOf<WideF32x4> for u8

source§

impl SubsetOf<u16> for u128

source§

impl SubsetOf<f64> for i16

source§

impl SubsetOf<WideF32x4> for u16

source§

impl SubsetOf<WideF64x4> for isize

source§

impl<N2> SubsetOf<Complex<N2>> for f64where N2: Zero + SupersetOf<f64>,

source§

impl SubsetOf<WideF32x4> for usize

source§

impl SubsetOf<isize> for u128

source§

impl SubsetOf<WideF32x8> for u8

source§

impl SubsetOf<WideF32x4> for i32

source§

impl SubsetOf<i16> for u64

source§

impl SubsetOf<i32> for i8

source§

impl SubsetOf<i8> for i8

source§

impl SubsetOf<u128> for u8

source§

impl SubsetOf<WideF32x4> for u64

source§

impl SubsetOf<i128> for isize

source§

impl SubsetOf<WideF64x4> for u32

source§

impl SubsetOf<i8> for i16

source§

impl SubsetOf<usize> for u8

source§

impl SubsetOf<u32> for u8

source§

impl SubsetOf<f64> for i64

source§

impl SubsetOf<i16> for i32

source§

impl<N2> SubsetOf<Complex<N2>> for i16where N2: Zero + SupersetOf<i16>,

source§

impl SubsetOf<isize> for usize

source§

impl SubsetOf<WideF32x8> for f64

source§

impl SubsetOf<u64> for u16

source§

impl SubsetOf<f32> for usize

source§

impl<N2> SubsetOf<AutoSimd<N2>> for usizewhere AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<usize> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<i32> for i16

source§

impl SubsetOf<i128> for u8

source§

impl SubsetOf<f64> for u32

source§

impl SubsetOf<u16> for u8

source§

impl SubsetOf<i64> for isize

source§

impl SubsetOf<u128> for u32

source§

impl SubsetOf<f32> for i16

source§

impl SubsetOf<i128> for usize

source§

impl SubsetOf<i16> for i16

source§

impl SubsetOf<WideF64x4> for i32

source§

impl SubsetOf<u32> for usize

source§

impl SubsetOf<f32> for f32

source§

impl SubsetOf<isize> for u8

source§

impl SubsetOf<i64> for i32

source§

impl SubsetOf<WideF64x4> for u64

source§

impl SubsetOf<u64> for u64

source§

impl SubsetOf<WideF64x4> for f32

source§

impl SubsetOf<i8> for u64

source§

impl SubsetOf<usize> for u32

source§

impl SubsetOf<i64> for u8

source§

impl SubsetOf<WideF32x8> for i64

source§

impl SubsetOf<i32> for u16

source§

impl SubsetOf<isize> for i32

source§

impl<N2> SubsetOf<AutoSimd<N2>> for i32where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i32> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl<N2> SubsetOf<AutoSimd<N2>> for u16where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u16> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<f64> for f64

source§

impl SubsetOf<f64> for i32

source§

impl SubsetOf<i16> for isize

source§

impl SubsetOf<i64> for u128

source§

impl SubsetOf<i8> for u16

source§

impl SubsetOf<u128> for u64

source§

impl<N2> SubsetOf<Complex<N2>> for i8where N2: Zero + SupersetOf<i8>,

source§

impl SubsetOf<WideF64x4> for i16

source§

impl SubsetOf<f32> for u64

source§

impl SubsetOf<i16> for u16

source§

impl SubsetOf<f64> for i128

source§

impl SubsetOf<u16> for u64

source§

impl SubsetOf<i32> for i32

source§

impl<N2> SubsetOf<AutoSimd<N2>> for f64where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<f64> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<i32> for u8

source§

impl SubsetOf<i8> for i32

source§

impl SubsetOf<u64> for usize

source§

impl SubsetOf<WideF32x8> for usize

source§

impl<N2> SubsetOf<AutoSimd<N2>> for f32where AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<f32> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<i16> for i64

source§

impl SubsetOf<i32> for u64

source§

impl SubsetOf<i128> for i32

source§

impl SubsetOf<i16> for i8

source§

impl SubsetOf<WideF32x8> for i16

source§

impl SubsetOf<u16> for usize

source§

impl<N2> SubsetOf<Complex<N2>> for usizewhere N2: Zero + SupersetOf<usize>,

source§

impl SubsetOf<u128> for u16

source§

impl SubsetOf<i16> for u128

source§

impl SubsetOf<i32> for i128

source§

impl SubsetOf<WideF32x4> for i64

source§

impl SubsetOf<u8> for u128

source§

impl SubsetOf<i64> for i64

source§

impl SubsetOf<f64> for usize

source§

impl SubsetOf<isize> for i64

source§

impl SubsetOf<i64> for i16

source§

impl<N2> SubsetOf<Complex<N2>> for u128where N2: Zero + SupersetOf<u128>,

source§

impl SubsetOf<u32> for u32

source§

impl SubsetOf<i8> for usize

source§

impl SubsetOf<u8> for u64

source§

impl<N2> SubsetOf<AutoSimd<N2>> for isizewhere AutoSimd<N2>: SimdValue + Copy, <AutoSimd<N2> as SimdValue>::Element: SupersetOf<isize> + PartialEq<<AutoSimd<N2> as SimdValue>::Element>,

source§

impl SubsetOf<i32> for isize

Implementors§

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl SubsetOf<WideBoolF32x4> for WideBoolF32x4

source§

impl SubsetOf<WideBoolF32x8> for WideBoolF32x8

source§

impl SubsetOf<WideBoolF64x4> for WideBoolF64x4

source§

impl SubsetOf<WideF32x4> for WideF32x4

source§

impl SubsetOf<WideF32x8> for WideF32x8

source§

impl SubsetOf<WideF64x4> for WideF64x4

source§

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

source§

impl<T1, T2> SubsetOf<DualQuaternion<T2>> for DualQuaternion<T1>where T1: SimdRealField, T2: SimdRealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Isometry<T2, Unit<Quaternion<T2>>, 3>> for Unit<DualQuaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Matrix<T2, Const<3>, Const<3>, ArrayStorage<T2, 3, 3>>> for Unit<Complex<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Matrix<T2, Const<4>, Const<4>, ArrayStorage<T2, 4, 4>>> for Unit<DualQuaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Matrix<T2, Const<4>, Const<4>, ArrayStorage<T2, 4, 4>>> for Unit<Quaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Quaternion<T2>> for Quaternion<T1>where T1: Scalar, T2: Scalar + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Rotation<T2, 2>> for Unit<Complex<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Rotation<T2, 3>> for Unit<Quaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Similarity<T2, Unit<Quaternion<T2>>, 3>> for Unit<DualQuaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<Complex<T2>>> for Rotation<T1, 2>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<Complex<T2>>> for Unit<Complex<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<DualQuaternion<T2>>> for Isometry<T1, Unit<Quaternion<T1>>, 3>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<DualQuaternion<T2>>> for Rotation<T1, 3>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<DualQuaternion<T2>>> for Translation<T1, 3>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<DualQuaternion<T2>>> for Unit<DualQuaternion<T1>>where T1: SimdRealField, T2: SimdRealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<DualQuaternion<T2>>> for Unit<Quaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<Quaternion<T2>>> for Rotation<T1, 3>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2> SubsetOf<Unit<Quaternion<T2>>> for Unit<Quaternion<T1>>where T1: Scalar, T2: Scalar + SupersetOf<T1>,

source§

impl<T1, T2, C1, C2, const D: usize> SubsetOf<Transform<T2, C2, D>> for Transform<T1, C1, D>where T1: RealField + SubsetOf<T2>, T2: RealField, C1: TCategory, C2: SuperTCategoryOf<C1>, Const<D>: DimNameAdd<Const<1>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>, <T1 as AbsDiffEq<T1>>::Epsilon: Copy, <T2 as AbsDiffEq<T2>>::Epsilon: Copy,

source§

impl<T1, T2, C> SubsetOf<Transform<T2, C, 2>> for Unit<Complex<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>,

source§

impl<T1, T2, C> SubsetOf<Transform<T2, C, 3>> for Unit<DualQuaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>,

source§

impl<T1, T2, C> SubsetOf<Transform<T2, C, 3>> for Unit<Quaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>,

source§

impl<T1, T2, C, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> for Transform<T1, C, D>where T1: RealField + SubsetOf<T2>, T2: RealField, C: TCategory, Const<D>: DimNameAdd<Const<1>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>, <T1 as AbsDiffEq<T1>>::Epsilon: Copy, <T2 as AbsDiffEq<T2>>::Epsilon: Copy,

source§

impl<T1, T2, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Rotation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>, Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Scale<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>, Const<D>: DimNameAdd<Const<1>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, Const<1>> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Translation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>, Const<D>: DimNameAdd<Const<1>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, D> SubsetOf<Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>> for OPoint<T1, D>where D: DimNameAdd<Const<1>>, T1: Scalar, T2: Scalar + Zero + One + ClosedDiv<T2> + SupersetOf<T1>, DefaultAllocator: Allocator<T1, D, Const<1>> + Allocator<T2, D, Const<1>> + Allocator<T1, <D as DimNameAdd<Const<1>>>::Output, Const<1>> + Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>,

source§

impl<T1, T2, D> SubsetOf<OPoint<T2, D>> for OPoint<T1, D>where D: DimName, T1: Scalar, T2: Scalar + SupersetOf<T1>, DefaultAllocator: Allocator<T1, D, Const<1>> + Allocator<T2, D, Const<1>>,

source§

impl<T1, T2, R1, C1, R2, C2> SubsetOf<Matrix<T2, R2, C2, <DefaultAllocator as Allocator<T2, R2, C2>>::Buffer>> for Matrix<T1, R1, C1, <DefaultAllocator as Allocator<T1, R1, C1>>::Buffer>where R1: Dim, C1: Dim, R2: Dim, C2: Dim, T1: Scalar, T2: Scalar + SupersetOf<T1>, DefaultAllocator: Allocator<T2, R2, C2> + Allocator<T1, R1, C1> + SameShapeAllocator<T1, R1, C1, R2, C2>, ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>,

source§

impl<T1, T2, R1, R2, const D: usize> SubsetOf<Isometry<T2, R2, D>> for Isometry<T1, R1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R1: AbstractRotation<T1, D> + SubsetOf<R2>, R2: AbstractRotation<T2, D>,

source§

impl<T1, T2, R1, R2, const D: usize> SubsetOf<Similarity<T2, R2, D>> for Isometry<T1, R1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R1: AbstractRotation<T1, D> + SubsetOf<R2>, R2: AbstractRotation<T2, D>,

source§

impl<T1, T2, R1, R2, const D: usize> SubsetOf<Similarity<T2, R2, D>> for Similarity<T1, R1, D>where T1: RealField + SubsetOf<T2>, T2: RealField + SupersetOf<T1>, R1: AbstractRotation<T1, D> + SubsetOf<R2>, R2: AbstractRotation<T2, D>,

source§

impl<T1, T2, R> SubsetOf<Isometry<T2, R, 2>> for Unit<Complex<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, 2> + SupersetOf<Unit<Complex<T1>>>,

source§

impl<T1, T2, R> SubsetOf<Isometry<T2, R, 3>> for Unit<Quaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, 3> + SupersetOf<Unit<Quaternion<T1>>>,

source§

impl<T1, T2, R> SubsetOf<Similarity<T2, R, 2>> for Unit<Complex<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, 2> + SupersetOf<Unit<Complex<T1>>>,

source§

impl<T1, T2, R> SubsetOf<Similarity<T2, R, 3>> for Unit<Quaternion<T1>>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, 3> + SupersetOf<Unit<Quaternion<T1>>>,

source§

impl<T1, T2, R, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Isometry<T1, R, D>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>, R: AbstractRotation<T1, D> + SubsetOf<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>, Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, R, C, const D: usize> SubsetOf<Transform<T2, C, D>> for Similarity<T1, R, D>where T1: RealField, T2: RealField + SupersetOf<T1>, C: SuperTCategoryOf<TAffine>, R: AbstractRotation<T1, D> + SubsetOf<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>, Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, R, const D: usize> SubsetOf<Isometry<T2, R, D>> for Rotation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, D> + SupersetOf<Rotation<T1, D>>,

source§

impl<T1, T2, R, const D: usize> SubsetOf<Isometry<T2, R, D>> for Translation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, D>,

source§

impl<T1, T2, R, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> for Isometry<T1, R, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T1, D> + SubsetOf<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>, Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, R, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> for Similarity<T1, R, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T1, D> + SubsetOf<Matrix<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> + SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>>, Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Rotation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, D> + SupersetOf<Rotation<T1, D>>,

source§

impl<T1, T2, R, const D: usize> SubsetOf<Similarity<T2, R, D>> for Translation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, R: AbstractRotation<T2, D>,

source§

impl<T1, T2, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> for Rotation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, Const<D>: DimNameAdd<Const<1>> + DimMin<Const<D>, Output = Const<D>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> for Scale<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, Const<D>: DimNameAdd<Const<1>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, Const<1>> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>>::Buffer>> for Translation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>, Const<D>: DimNameAdd<Const<1>>, DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,

source§

impl<T1, T2, const D: usize> SubsetOf<Rotation<T2, D>> for Rotation<T1, D>where T1: RealField, T2: RealField + SupersetOf<T1>,

source§

impl<T1, T2, const D: usize> SubsetOf<Scale<T2, D>> for Scale<T1, D>where T1: Scalar, T2: Scalar + SupersetOf<T1>,

source§

impl<T1, T2, const D: usize> SubsetOf<Translation<T2, D>> for Translation<T1, D>where T1: Scalar, T2: Scalar + SupersetOf<T1>,